从 bash 中的文件夹中删除所有 .class 文件

从 bash 中的文件夹中删除所有 .class 文件

我正在制作一个 bash 文件来删除 java 在 src 文件夹及其子文件夹中生成的所有 .class 文件。结构是:

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 {} \;

没必要把简单的事情复杂化。

相关内容