繁体   English   中英

Awk:根据列组中的最大值过滤文件

[英]Awk: filter files based on maximum in column group

我正在尝试根据 Linux 中每个组中的最大值过滤(或移动)文件夹...

例如:文件夹中的文件名列表,我想在按 SN、代码、日期排序后按代码移动具有最大值的文件名

SN-Code-Date-Value  
01-2L-20200417-153542  
01-2L-20200417-155640  --> move to folder  
01-43-20200511-192316  
01-43-20200521-165949  
01-43-20200521-185815  --> move to folder  

谢谢!

按键和时间戳排序, awk选择第一条记录,这将是自时间戳倒序排序以来的第一条记录。

$ sort -t- -k1,2 -k3,4r file | awk -F- '!a[$1,$2]++'

请注意,这也是比较日期,如果您希望日期成为键的一部分,请在脚本中添加$3到查找键。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM