フォルダがあるとします:
img1/
img2/
Linux ターミナルから正規表現を使用してこれらのフォルダーを削除するにはどうすればよいですか?
find を使用してディレクトリをフィルタリングする
$ find . -type d -name "img*" -exec rm -rf {} \;
コメントで述べたように、これは正規表現ではなくシェルグロブを使用しています。正規表現が必要な場合
$ find . -type d -regex "\./img.*" -exec rm -rf {} \;
あなたが使用できる
rm -r img*
img で始まる現在の作業ディレクトリ内のすべてのファイルとディレクトリを削除する必要があります
編集:
img で始まる現在の作業ディレクトリ内のディレクトリのみを削除するには
rm -r img*/
正規表現を使用してディレクトリ内の特定のファイルを削除する方法を探す過程で、この投稿と Mahmoud Mustafa による別の投稿に出くわしました: http://mah.moud.info/delete-files-or-directories-linux
このコードは、0 から 9 までの連続する 4 桁を含むすべてのものを削除します。私の場合、月と日付の範囲が Jan2002 から Jan2014 までのフォルダーです。
rm -fr `ls | grep -E [0-9]{4}`
フォルダーの代わりに個々のファイルを削除する方法を探している人に役立つことを願っています.