.php、.xmlファイルを一覧表示して削除する必要があります。そのために私はfind
コマンドを使用します。
リスト:
find . -type f -name \*.php -print0
削除:
find . -type f -name \*.php -print0 | xargs -0 rm -r
二度走ったときfind
。最初のコマンドの結果を保存してから、2番目のコマンドで再利用できますか?
ありがとうございます。
答え1
find . -type f -name '*.php' -print0 | tee list | tr \\0 \\n
xargs -r0 rm -f < list
リストを削除することを決定する前に、リストを確認したいとします。そうでない場合は、単に次のことができます。
find . -name '*.php' -type f -print -delete
-print0
(、、、-delete
は標準ではありませんが、GNU実装でサポートされていることに注意してください-r
)-0
また、比較的安全ですが、最初のソリューションでは、誰かとfind -delete
コマンドを実行している間にいくつかの機密領域へのシンボリックリンクでディレクトリ名を変更し、削除したくないファイルを削除することができます。これを防ぐには、2回実行して2回目に実行してください。find
xargs
find
-delete
答え2
.php
ファイル.xml
が必要なので、find
コマンドは次のようにする必要があります。
find . \( -name '*.php' -o -name '*.xml' \) -type f -print -exec rm {} +
ファイルブロックごとに一度だけ使用されるディレクティブです+
。を使用すると、各ファイルに対してコマンドを実行します。find
rm
\;
rm