
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 {} \;
簡単なことを複雑にする必要はありません。