bash,删除文件名中包含字母的文件

时间:2013-08-11 02:41:53

标签: bash alphanumeric rm

我有一个目录填充文件,如下所示:

1000.csv
1001.csv
aaa.csv
aac.csv

我想删除像aaa.csv和aac.csv这样的文件(基本上任何有[字母] .csv的文件,但保留有[数字] .csv

的文件

有没有办法在bash中执行此操作?

3 个答案:

答案 0 :(得分:3)

这应该按照你的要求行事,但要注意这是一个非常危险的命令,所以一定要指明正确的道路!

find ./ -type f -name '*[a-z]*.csv' | xargs rm

“./”是您应该将路径放到要删除的文件的目录的位置。这也将删除包含字母的任何文件。甚至12h.csv。

答案 1 :(得分:2)

ls | grep [[:alpha:]*].csv | xargs rm

应该做你想做的事。

编辑:
ls将列出目录中的文件,然后将该列表传递给grep grep将获取该列表,然后仅筛选出以字母开头的那些,然后以.csv结尾,并将此新列表传递给xargs。
xargs将获取文件列表并将其作为参数传递给rm。
rm将删除其传递名称的文件。

答案 2 :(得分:1)

最简单的方法:

rm *[a-z]*.csv