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 {} +