我有一个文件夹,里面有大量遵循特定模式的 .dat 文件(即*_t_0.1000.dat, *_t_0.1001.dat .... , *_t_0.2000.dat
)。我最终想要删除除以以下序列结尾的文件之外的所有文件:*_t_0.1000.dat, *_t_0.1005.dat,*_t_0.1010.dat ... *_t_0.2000.dat
。需要注意的是,文件以始终具有 4 个有效数字的数字结尾。你能帮我吗?
答案1
尝试
ls "*_t_0.1??[12346789].dat"
检查过滤器是否工作,然后
rm "*_t_0.1??[12346789].dat"
如果是的话。如果规则在 2000 年停止但文件没有停止,请手动删除“*_t_0.2000.dat”。
否则也用 [12] 或 ? 替换 1。
另一种方法是使用如下 4 个命令:
ls "xy_t_0."{1001..1096..5}".dat"
ls "xy_t_0."{1002..1097..5}".dat"
# you get it?
再次,如果列表正确,则用 rm 替换 ls。