find 명령으로 찾은 모든 파일에서 이 java 명령이 작동하도록 하려면 어떻게 해야 합니까?

find 명령으로 찾은 모든 파일에서 이 java 명령이 작동하도록 하려면 어떻게 해야 합니까?

Bash 쉘 스크립트에 이 명령이 있는데 그 목적은 java 명령을 적용하는 것입니다.HTML 압축기, 디렉토리에 있는 각 HTML 파일에:

find $DIR -type f -name '*.html' -exec java -jar $BASEDIR/Upload/htmlcompressor-1.5.3.jar --remove-intertag-spaces {} \;

그러나 명령줄의 출력에는 각 파일을 찾고 해당 파일에 대해 일부 작업을 수행하는 것으로 보이지만 실제로는 결과를 파일에 쓰는 것이 아닙니다.

htmlcompressor 문서에 따르면 사용법은 다음과 같습니다.

사용법: java -jar htmlcompressor.jar [옵션] [입력]

그래서 마지막에 name이라는 입력 파일이 있어야 하는데, 이 find명령으로 이미 문제가 해결된 것 같습니다. 그러나 내가 틀린 것 같습니다.

내가 찾은 파일에서 실제로 작동하도록 하려면 어떻게 해야 합니까?

답변1

제공한 내용이 올바른 것 같습니다. java다음 명령을 삽입하여 올바르게 호출되는지 확인할 수 있습니다.echo

find $DIR -type f -name '*.html' -exec echo java -jar $BASEDIR/Upload/htmlcompressor-1.5.3.jar --remove-intertag-spaces {} \;

(표준으로 쉘 내장 버전이 내장되지 않은 올바른 POSIX 호환 시스템을 가정 PATH).

그 외에도 결과 명령 중 하나를 수동으로 실행하여 제대로 작동하는지 확인해야 할 수도 있습니다.

관련 정보