我有1个目录有很多pdf文件。 此文件由另一脚本重命名与新版本的渐进号文件生成的:(例子)bash命令/脚本删除较旧的文件版本
newyork_v1.pdf
newyork_v2.pdf
newyork_v3.pdf
miami_v1.pdf
miami_v2.pdf
rome_v1.pdf
的版本号是相对于文件的一些文件是一个版本1,有人在2版等像例子中那样。 有些文件保留在版本1中用于所有的生活,有些文件可能会增长到第10版。
在一个临时目录拷贝这个目录后,我想删除旧版本的所有文件,在本例中必须保持:
newyork_v3.pdf
miami_v2.pdf
rome_v1.pdf
我尝试排序和删除LS和排序命令,但我做的没有得到想要的结果,我尝试:
ls | sort -k2 -t_ -n -r | tail -n +2 | xargs rm
与此命令只停留rome_v1.pdf
命令或脚本都无所谓,谁能帮助我?
它的作品!谢谢!!! – user3375339
只是一些改进的答案:使用 首先进行的修改日期排序可能会失败,只需使用'ls'默认的排序顺序 第二次使用'ls -1'而不是'ls -l'它为你节省了'awk'管道 –
@Mojooo - ls -1' – Amit