【发布时间】:2022-01-04 03:20:11
【问题描述】:
希望打印基于 $1 和 $3 组合的所有最小值。如果有两条或多条线路可用 对于具有 $1 和 $3 的唯一组合的最小值,则需要打印所有行。例如,$1-"Abc" 的最小值 $3-"10" 出现两次,即 Abc,yyy,10,aaa 和 Abc,ttt,10,aaa。输入文件未按任何顺序排序。
输入.txt
Country,Desc,Amount,Details
Abc,xxx,20,aaa
Abc,yyy,10,aaa
ghi,ttt,25,ccc
Abc,zzz,35,aaa
def,xxx,30,bbb
Abc,ttt,10,aaa
def,yyy,20,bbb
ghi,yyy,25,ccc
def,zzz,45,bbb
ghi,xxx,35,ccc
ghi,zzz,50,ccc
想要打印输出以及标题行NR==1 , {print}
所需的输出.txt
Country,Desc,Amount,Details
Abc,yyy,10,aaa
Abc,ttt,10,aaa
ghi,ttt,25,ccc
ghi,yyy,25,ccc
def,yyy,20,bbb
我正在使用两个命令来获得所需的输出,首先是 sort 基于 $1 和 $3 的输入文件,然后是第二个命令 awk -F, '!seen[$1]++'
寻找您的建议以简单地喜欢一个班轮。
【问题讨论】:
标签: awk