「rm」を使用して「:」を含むファイルを削除するにはどうすればよいですか?

「rm」を使用して「:」を含むファイルを削除するにはどうすればよいですか?

私は Ubuntu 10.04 を使用していますが、たくさんのファイルがあるディレクトリがあります。しばらく前にファイルの命名規則を変更したので、古いものをすべて削除したいと考えています。

新しい名前スキーム: December_12_2010.zip

旧名称スキーム: December_11_2010_17:54:18_map.zip

正規表現を調べていて、正規表現を使ってどのように行うのか知りたいのですが、わかりませんでした。私の限られた知識では、正しい組み合わせを見つけるのに十分ではありませんでした。「:」を見て、ファイルを削除する最善の方法は「':' を含むすべてのファイルを削除する」ことだと思いましたが、うまくいきませんでした。何かアドバイスがあれば教えてください。

答え1

試してみてくださいrm *:*。私の場合は確かにうまくいきましたが、うまくいかない場合は、エラー メッセージの詳細を提供していただけると助かります。

1 日に 1 つだけの場合は、ファイルの名前を変更することもできます。これを自動化することは大きな課題にはなりません。

答え2

ファイルが本当に代わりに使用すべきものfind:

find -name '*:*' -delete

答え3

正規表現が必要な場合は、次のようにします:-

find . -regex '.*/*[0-9][0-9]:[0-9][0-9]:[0-9][0-9]*' -exec rm -fv '{}' \;

関連情報