想知道如何在文件名增加时删除文件?

时间:2019-03-20 15:02:29

标签: macos shell

我的目录中有一个文件

file3.proto
file2.proto
file1.proto

我要删除文件1和文件2,最大的数字是我不想删除的最新文件。如何在shell脚本中实现这一目标?

下面这件事可以完成工作,但我想变得更有活力。如果数字增加,我不想每次都更改Shell脚本,例如如果文件为4,则需要更改1..3。

ls | grep '.proto' | rm file{1..2}.proto

1 个答案:

答案 0 :(得分:1)

ls *.proto | head -n -1 | xargs rm

其中包含这些文件

file1.proto
file2.proto
file3.proto

执行命令

rm file1.proto file2.proto

UPDATE :请注意,ls命令以字母顺序输出文件,而不是数字顺序...我意思是,如果您还有一个file25.proto,您将从ls获得此输出:

file1.proto
file25.proto
file2.proto
file3.proto

因此,最好根据文件夹中文件的最大数量来重命名file001.proto之类的文件。这是文件名排序的常见问题...