다음과 같이 파일이 있다고 하자.
# ls
a.txt b.txt c.txt d.txt e.txt f.txt
그러면, 이것의 확장자를 txt
에서 sql
로 바꾼다고 하면, a.txt
와 a.sql
이라는 파일 이름 2개가 필요하다. 그런데
# ls | sed -e "s/txt/sql/g"
를 하면, a.txt
는 나오지 않는다.
이때 사용하는 것이 sed
의 p
명령으로,
# ls | sed -e "p;s/txt/sql/g"
a.txt
a.sql
b.txt
b.sql
c.txt
c.sql
d.txt
d.sql
e.txt
e.sql
f.txt
f.sql
이렇게 된다. 이것을 xargs
에 -n2
명령을 이용해서 넘겨주면 된다.
# ls | sed -e "p;s/.txt$/.sql/" | xargs -n2 mv
댓글
댓글 쓰기