파일을 json 형식으로 변환하고 출력을 별도의 디렉터리에 쓰는 perl 스크립트가 있습니다. 파일 이름과 출력 디렉터리라는 2개의 매개변수를 허용합니다. 스크립트는 특정 확장자(예: .abc)로 끝나는 여러 파일에서 실행되어야 합니다.
특정 디렉터리에서 확장자가 .abc인 모든 파일을 찾아 스크립트를 실행하고 싶습니다. 명령줄에서 실행하려고 합니다.
find "path to directory" -name '*.abc' -exec ./ConvertFile {} "output_directory"
명령 반환find: missing argument to '-exec'
저는 Perl과 Shell 스크립팅을 처음 접했습니다. 각 개별 파일에 대해 스크립트를 실행할 수 있습니다. 그러나 특정 디렉터리에는 수십 개의 파일이 있을 수 있으며 원본 파일이 자주 변경되기 때문에 즉시 변환해야 합니다. 누구든지 내 명령줄 입력에 어떤 문제가 있는지 말해 줄 수 있나요? 감사해요
답변1
-exec
통화를 종료해야 합니다 \;
. 이것은 트릭을 수행해야합니다.
find "path to directory" -name '*.abc' -exec ./ConvertFile {} "output_directory" \;