Ubuntu 中批量删除文件方法

如何用正则表达式批量删除文件

我们都知道 linux 命令行 使用 rm 可以删除文件, 但是当有时候想要批量删除一些自动生成的文件(照片,音乐)等等自动生成命名的文件时, 我们需要怎么办呢, 下面是两种办法

1. 通过通配符批量删除文件

例如我的文件夹里现在有这么几个文件, 我想要把他们一次性删除, 可以在当前文件夹内执行如下命令

rm test-{1..20}.txt     //对照上图理解一下

这种方法真是好,尤其是针对删除我保存的一些不用的图像文件

 

2. 使用正则表达式批量删除文件

正则表达式删除的命令稍微有点不一样, 因为 rm 默认是不支持正则表达式的, 所以我们要用支持正则表达式的 grep 和 命令来帮忙。

ls | grep -P "test-[1-2]{0,1}[0-9].jpg" | xargs -d"\n" rm

 

这行命令 通过 ls 拿到当前文件夹内所有文件并通过 管道符 “|” 传给 grep 用正则来过滤, 最后通过 xargs 命令来二次过滤掉换行符, 然后执行 rm 函数来批量删除, 这样就完成了!