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