我有像
这样的文件内容SRINIVAS,100
SRINIVAS,200
SRINIVAS,300
SRINIVAS,400
SRINIVAS,500
马杜,111
马杜,222
马杜,333
马杜,444
维杰,123
维杰,234
维杰,345
维杰,456
维杰,567
维杰,678
我想要这样的输出:
SRINIVAS,500
马杜,444
维杰,678
答案 0 :(得分:0)
使用awk
,您可以这样做:
awk -F',' '($0 && p != $1 && line){print line} $0{line=$0; p=$1} END{print line}' filename
($0 && p != $1 && line){print line}
检查当前行是否为空,将第一个字段(名称字段)与p
(最初为空)匹配,并检查line
变量是否为空或为空。如果所有条件都通过,它将打印变量行。
$0{line=$0; p=$1}
将更新line
和p
的值。
输出结果为:
srinivas,500
madhu,444
vijay,678
如果您想要额外的新行,请在($0 && p != $1 && line){print line "\n"}