shell 列出具有最新数据的文件

rn0zuynd  于 2023-04-07  发布在  Shell
关注(0)|答案(1)|浏览(208)

我试图获得一天内最新数据的文件列表。可以从文件名中找到日期。
abc_YYYYMMDDHH24MISS.txt类型的输入文件

abc_20230101033006.txt  
abc_20230101043006.txt
abc_20230102033006.txt  
abc_20230102043006.txt

expected output 
abc_20230101043006.txt
abc_20230102043006.txt

我试过这个命令

ls | cut -b 1-12|uniq |ls |sort|tail -1

result:(只获取一个文件)

abc_20230102043006.txt
vxf3dgd4

vxf3dgd41#

使用awk

$ ls -1
abc_20230101033006.txt
abc_20230101043006.txt
abc_20230102033006.txt
abc_20230102043006.txt
$ printf '%s\n' abc_* |
    awk '{k=substr($0, 0,12);a[k]=$0}END{for (i in a) print a[i]}'

abc_20230101043006.txt
abc_20230102043006.txt

相关问题