问题
如何从文件名的开头获取前 3 个相同字符的所有最后文件?
我有
file1.csv
file2.csv
file3.csv (newest)
new-file1.csv
new-file2.csv (newest)
new-file3.csv
我需要
file3.csv (newest)
new-file2.csv (newest)
我尝试使用数组进行循环,使用手动输入条件ls -t
,但是单独执行的简单循环呢?扫描所有文件并获取所有文件?是否可以仅使用for i in $(find . -maxdepth 1 -type f | cut -c1-6 | sort | uniq); do ls -t $i* | head -1; done
命令来完成?
谢谢。
我是这样做的。
谢谢你们。
如果您希望前导名称达到数字,您可以使用digit作为分隔符。它将前导名称
$1
和扩展名放入$NF
(如果将它们拼凑在一起,则会得到 file.csv 或 new-file.csv)。排序时代;自 1970 年 1 月 1 日 00:00:00 UTC 以来的秒数,这使得倒序的秒数更少,等于较旧的对象。它将不可避免地对与文件名相反的时间戳进行排序。
...或反向排序给你
sort -rz -k1n