makefile
내 for에는 다음 명령이 있습니다 clean
.
rm -rf */*.o */*.cmo */*.cmi */*.cmx */*.cma */*.cmxa */*.annot
cleanpartial
이제 폴더 frontend/
와 폴더 내의 파일을 제외하고 이러한 파일을 삭제하는 파일을 작성하고 싶습니다 frontend/gen/
.
이 명령을 올바르게 작성하는 방법을 아는 사람이 있습니까?
답변1
이것을 사용해야합니다 find
.
다음 명령을 사용하여 안전하게 테스트할 수 있습니다.
find . \( -name frontend -prune \) -o -type f \( -name \*.o -o -name '*.cm[oixa]' -o -name \*.cmxa -o -name \*.annot \) -print
인쇄된 파일 목록에 만족하면 실제 명령을 실행하여 많은 파일을 삭제합니다.
find . \( -name frontend -prune \) -o -type f \( -name \*.o -o -name '*.cm[oixa]' -o -name \*.cmxa -o -name \*.annot \) -exec rm -f {} +