리눅스에서 윈도우에서 작성된 압축파일을 해제할 경우 파일이름이 죄다 깨져나오는 경우가 생기는데 지금까지는 bash script를 이용해서 ls 명령으로 파일 목록을 불러오고 loop를 돌면서 파일이름을 새로 작성했었는데 이렇게 할 경우 파일이름에 공백이 있게 되면 전혀 엉뚱한 결과가 발생한다. (bash script에서 리스트 구분자가 공백이기 때문이다.) 그래서 이럴 경우 find를 이용하면 script를 사용할 필요도 없으면서 파일이름에 공백이 들어가는 문제도 해결할 수 있어 일석이조가 된다.
기본 문법은
find . -name '*.png' -exec
로 시작하고 exec 명령 입력의 끝을 알리는 의미로 \;를 붙여쓰면 된다. find는 -name patter과 일치할 때 마다 그 이름을 -exec에 보내는데 find가 찾은 이름은 {} 로 불러사용할 수 있다. 덭붙여, 간단한 명령이면 위 조합으로 가능하지만 약간의 프로그래밍이 필요한 경우에는 아래과 같이 사용하면 된다.
find -name '*,png' -exec sh -c 'var1=`echo "{}" | sed "s/name/anyname/"`; echo $var1' \;
이렇게 하면 find가 찾은 이름에서 name이라고 적힌 부분은 anyname으로 바꾼 후에 화면에 출력시키게 된다. 이를 잘 활용하면 상당히 유용한 명령을 만들 수 있다.
기본 문법은
find . -name '*.png' -exec
로 시작하고 exec 명령 입력의 끝을 알리는 의미로 \;를 붙여쓰면 된다. find는 -name patter과 일치할 때 마다 그 이름을 -exec에 보내는데 find가 찾은 이름은 {} 로 불러사용할 수 있다. 덭붙여, 간단한 명령이면 위 조합으로 가능하지만 약간의 프로그래밍이 필요한 경우에는 아래과 같이 사용하면 된다.
find -name '*,png' -exec sh -c 'var1=`echo "{}" | sed "s/name/anyname/"`; echo $var1' \;
이렇게 하면 find가 찾은 이름에서 name이라고 적힌 부분은 anyname으로 바꾼 후에 화면에 출력시키게 된다. 이를 잘 활용하면 상당히 유용한 명령을 만들 수 있다.
'리눅스(Gentoo)' 카테고리의 다른 글
| gentoo world list 파일 저장 위치 (0) | 2011/12/08 |
|---|---|
| Pointwise linux 버전 문제 (0) | 2011/12/04 |
| find -exec 사용하기 (0) | 2011/12/02 |
| PDF파일이나 이미지 파일로 동영상 만들기 (0) | 2011/12/02 |
| firefox에서 Windows media player plugin 작동시키기 (1) | 2011/09/24 |
| Gnome에서 login후에 password 다시 물어보는거 안하게 만들기. (0) | 2011/09/13 |
