我有一个目录填充文件,如下所示:
1000.csv
1001.csv
aaa.csv
aac.csv
我想删除像 aaa.csv 和 aac.csv 这样的文件(基本上任何有 [字母].csv 的文件,但保留有 [数字].csv 的文件
有没有办法在 bash 中做到这一点?
我有一个目录填充文件,如下所示:
1000.csv
1001.csv
aaa.csv
aac.csv
我想删除像 aaa.csv 和 aac.csv 这样的文件(基本上任何有 [字母].csv 的文件,但保留有 [数字].csv 的文件
有没有办法在 bash 中做到这一点?
这应该按照您的要求执行,但请注意这是一个非常危险的命令,因此请确保您指定正确的路径!
find ./ -type f -name '*[a-z]*.csv' | xargs rm
“./”是您应该放置要删除的文件目录的路径。这也将删除任何包含字母的文件。甚至 12h.csv。
ls | grep [[:alpha:]*].csv | xargs rm
应该做你想做的。
编辑:
ls 将列出目录中的文件,然后将该列表传递给 grep。
grep 将获取该列表,然后仅过滤掉以字母开头然后以 .csv 结尾的列表,并将此新列表传递给 xargs。
xargs 将获取文件列表并将其作为参数传递给 rm。
rm 将删除其名称传递的文件。
最简单的方法:
rm *[a-z]*.csv