gfind / -name "*.txt" -exec perl -pi -e 's/a/b/g'

nosmok의 이미지

gfind / -name "*.txt" -exec perl -pi -e 's/a/b/g' {}\;

를 실행하면 missing argument to `-exec' 와 같은 에러 메시지를 출력합니다.

그리고 perl 명령구문만 단독 실행하게 되면
Can't do inplace edit without backup. 과 같은 에러 메시지를 출력합니다.

-i.bak 옵션으로 바꾸어 보아도 치환이 되지 않습니다.

실행환경은 winxp
GNU find version 4.1
This is perl, v5.6.1 built for MSWin32-x86-multi-thread
입니다.

송효진의 이미지

{} 를 "{}" 로 해보세요.

이름에 공백이 있으면 perl 에 제대로 값을 넘겨주지 못하죠.

sh.의 이미지

{}\; 에서 {} 와 \; 사이에 공백을 줘보세요..

gfind는 안써봤지만 find에서는 {} 가 공백으로 구분되어있어야 파일명을 넘겨줍니다..