说我有文件夹:
img1/
img2/
如何使用来自Linux终端的正则表达式删除这些文件夹,这些文件夹匹配以img?
开头的所有内容答案 0 :(得分:18)
使用find过滤目录
$ find . -type d -name "img*" -exec rm -rf {} \;
正如评论中提到的,这是使用shell globs而不是正则表达式。如果你想要正则表达式
$ find . -type d -regex "\./img.*" -exec rm -rf {} \;
答案 1 :(得分:13)
你可以使用
rm -r img*
应删除当前工作目录中以img
开头的所有文件和目录编辑:
仅删除当前工作目录中以img
开头的目录rm -r img*/
答案 2 :(得分:0)
在寻找如何使用正则表达式删除目录中的特定文件的过程中,我偶然发现了这篇文章和Mahmoud Mustafa的另一篇文章:http://mah.moud.info/delete-files-or-directories-linux
此代码将删除任何内容,包括0-9中的四个连续数字,在我的案例文件夹中,月份和日期范围从2002年1月至2014年1月:
rm -fr `ls | grep -E [0-9]{4}`
希望能帮助那些寻找如何删除单个文件而不是文件夹的人。