フォルダ内の特定の文字列で始まらないファイルをすべて削除する

フォルダ内の特定の文字列で始まらないファイルをすべて削除する

特定のフォルダー内の「2012」で始まらないすべてのファイルを削除するにはどうすればよいですか?

これは OS X Lion 上です。

答え1

を使用して、2012 ( ) で始まらない ( )findすべてのファイル ( ) を選択します。その後、すぐに (削除) するか、スイッチに任せて削除します。type f!"2012*"rmdelete

find . -type f ! -name "2012*"

これはサブディレクトリに再帰的に降りていくことに注意してください。実際に保持したいものを削除しないようにするには、適切なオプションを使用するようにしてください (man find詳細については、こちらをご覧ください)。

たとえば、-maxdepth 1サブディレクトリには入りません。

次に、これらのファイルを削除します。

find . -type f ! -name "2012*" -delete

関連情報