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

一部を除くディレクトリ内のすべてのファイルを削除する方法は?

rmu,p を除くすべて bash で次のように入力します:

rm !(u|p)

これには、次のオプションを設定する必要があります:

shopt -s extglob

詳細:glob - Greg の Wiki


そのような場合に私がすることは、入力することです

rm *

次に Ctrl を押します +X ,* 拡大する *

次に、保持したい 2 つのファイルをリストから削除し、最後にコマンド ラインを実行します。


find を使用できます

find . ! -name u ! -name p -maxdepth 1 -type f -delete
  • ! 次の式を否定します
  • -name ファイル名を指定します
  • -maxdepth 1 指定されたディレクトリのみを検索処理します (find デフォルトではディレクトリをトラバースします)
  • -type f ファイルのみを処理します (ディレクトリなどは処理しません)
  • -delete ファイルを削除します

その後、find のマニュアル ページを参照して条件を調整できます

更新

  • 式の要素の順序が重要であることに注意してください (ドキュメントを参照してください)
  • 最初に -print を使用してコマンドをテストします -delete の代わりに

    find . ! -name u ! -name p -maxdepth 1 -type f -print
    

Linux
  1. Linuxですべてのディレクトリのファイルを再帰的に検索する方法

  2. 名前でファイルとディレクトリを削除します。そのようなファイル、又はディレクトリはありません?

  3. 特定のフォルダ内の特定の拡張子を持つすべてのファイルを削除するにはどうすればよいですか?

  1. 検索を使用して特定のディレクトリを検索し、1つのディレクトリを除くその中のすべてのファイルを削除しますか?

  2. Linux ですべてのスパース ファイルを見つける方法

  3. シェル - コマンドのディレクトリを見つける方法は?

  1. Linuxで特定の親ディレクトリを持つすべてのファイルを見つける方法は?

  2. 各ディレクトリ内のファイル数を数える方法は?

  3. すべてのサブディレクトリで一致するファイルを削除します