8

フォルダがあるとします:

img1/
img2/

Linux ターミナルから正規表現を使用してこれらのフォルダーを削除するにはどうすればよいですか?

4

3 に答える 3

27

find を使用してディレクトリをフィルタリングする

$ find . -type d -name "img*" -exec rm -rf {} \;

コメントで述べたように、これは正規表現ではなくシェルグロブを使用しています。正規表現が必要な場合

$ find . -type d -regex "\./img.*" -exec rm -rf {} \;
于 2012-08-12T19:31:16.203 に答える
20

あなたが使用できる

rm -r img*

img で始まる現在の作業ディレクトリ内のすべてのファイルとディレクトリを削除する必要があります

編集:

img で始まる現在の作業ディレクトリ内のディレクトリのみを削除するには

rm -r img*/
于 2012-08-12T19:11:20.167 に答える
0

正規表現を使用してディレクトリ内の特定のファイルを削除する方法を探す過程で、この投稿と Mahmoud Mustafa による別の投稿に出くわしました: http://mah.moud.info/delete-files-or-directories-linux

このコードは、0 から 9 までの連続する 4 桁を含むすべてのものを削除します。私の場合、月と日付の範囲が Jan2002 から Jan2014 までのフォルダーです。

rm -fr `ls | grep -E [0-9]{4}`

フォルダーの代わりに個々のファイルを削除する方法を探している人に役立つことを願っています.

于 2014-04-07T17:03:44.897 に答える