답변:
-exec
플래그를 사용하여 일치하는 각 파일에서 명령을 실행할 수 있습니다 .
$ find ./ -type f -name "*.txt" -exec gedit "{}" \;
구문은 약간 이상합니다 (자세한 내용 -exec command ;
은 맨 페이지를 참조하십시오).
The string `{}' is replaced by the current file name being processed
을 고려할 수도 -execdir
있지만 일치하는 파일을 포함하는 하위 디렉토리에서 명령을 실행합니다 (일반적으로 선호 됨).
{}
현재 파일 이름에 서, 세미콜론은 명령을 종료합니다. 백 슬래시와 주변 따옴표는 쉘 확장을 막기위한 것입니다.
find . -type f -name "*.txt" -print0 | xargs -0 gedit
man find
하거나 man xargs
, 다음 /
주어진 플래그를 검색 할 수 있습니다. 문서는 아주 훌륭합니다. 질문에 대답해야합니다.
-print0
각 항목 뒤에 NULL 문자를 인쇄 -0
하고 항목이 NULL 문자로 분리 될 것으로 예상합니다. 까다로운 이름을 처리하는 가장 안전한 방법입니다.