我有一个目录填充文件,如下所示:
1000.csv
1001.csv
aaa.csv
aac.csv
我想删除像aaa.csv和aac.csv这样的文件(基本上任何有[字母] .csv的文件,但保留有[数字] .csv
的文件有没有办法在bash中执行此操作?
答案 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