GNU/Linux >> Linux の 問題 >  >> Linux

find と xargs を使用して rm でファイルを削除する

rm コマンドのエイリアスが 'rm -i' に設定されています。したがって、

のようにコマンドを直接呼び出すと、
rm file.txt

または

rm *.txt

エイリアスが展開されます。のように xargs で呼び出す場合

find . -type f -name '*.txt' | xargs rm

rm は単純な文字列引数として xargs に渡され、後でシェルのエイリアス置換なしで xargs によって呼び出されます。削除したい場合に備えて、エイリアスはおそらく ~/.bashrc で定義されています。


この簡単なコマンドを使用して問題を解決できます

find . -type f -name '*.txt' -delete

xargs のバージョンによっては、 --no-run-if-empty GNU 拡張オプションを利用できる場合があります:

find . -type f -name '*.txt' | xargs  --no-run-if-empty  rm -rf

Linux
  1. 検索を使用して複数のファイルの名前を変更するにはどうすればよいですか?

  2. ファイルを検索してコピーする

  3. ファイルを検索して tar (スペースを含む)

  1. ls と grep を使用して実行可能ファイルを見つける

  2. 名前に特殊文字を含むファイルでの find および tar の使用

  3. 特定の日付のファイルを検索して削除する

  1. Linuxでsedを使用してテキストファイルを検索および置換する

  2. Linuxのfindコマンドの使用–例を使用した使用法

  3. findおよびduコマンドを使用してLinuxで大きなファイルを検索する方法