src 폴더와 그 하위 폴더에서 java에 의해 생성된 모든 .class 파일을 제거하기 위해 bash 파일을 만들고 있습니다. 구조는 다음과 같습니다.
project
src
/utils
utils.class
/game
game.class
gameManager.class
따라서 폴더 내에서 스크립트를 실행하면 project
모든 파일을 검색하여 .class
삭제하지만 작동하지 않습니다.
방금 다음 스크립트를 만들었습니다.
find . -path "src/*/*" -name "*.class" -exec rm -f {} \;
어떻게 해결할 수 있나요?
답변1
src
경로가 로 시작하지 않고 로 시작하기 때문에 작동하지 않습니다 ./src
.
명령줄을 다음과 같이 수정할 수 있습니다.
find . -type f -path "./src/*/*" -name "*.class" -exec rm -f {} \;
또는,
find . -type f -path "./src/*/*" -name "*.class" -delete
*.class
모든 파일을 삭제하고 싶다면어딘가에( src
하위 디렉토리뿐만 아니라):
find src -type f -name "*.class" -delete
답변2
cd ./project/src && \
find . -name '*.class' -exec rm -f {} \;
간단한 일을 복잡하게 할 필요가 없습니다.