有人会帮我在Bash中形成一个脚本,只保留唯一的行,完全基于在单个字段中识别重复值(第一个字段)
如果我有这样的数据:
123456,23423,Smith,John,Jacob,Main St.,,Houston,78003<br>
654321,54524,Smith,Jenny,,Main St.,,Houston,78003<br>
332423,9023432,Gonzales,Michael,,Everyman,,Dallas,73423<br>
123456,324324,Bryant,Kobe,,Special St.,,New York,2311<br>
234324,232411,Willis,Bruce,,Sunset Blvd,,Hollywood,90210<br>
438329,34233,Moore,Mike,,Whatever,,Detroit,92343<br>
654321,43234,Smith,Jimbo,,Main St.,,Houston,78003<br>
我喜欢只保留没有匹配第一个字段的行 (根据以上样本,结果将是以下这些内容的文件)
332423,9023432,Gonzales,Michael,,Everyman,,Dallas,73423<br>
234324,232411,Willis,Bruce,,Sunset Blvd,,Hollywood,90210<br>
438329,34233,Moore,Mike,,Whatever,,Detroit,92343<br>
bash / awk方法是什么?提前谢谢。
答案 0 :(得分:0)
如果你不关心输出的顺序应该与Input_file相同,那么跟随单awk
可以帮助你。
awk -F, '{a[$1]++;b[$1]=$0} END{for(i in a){if(a[i]==1){print b[i]}}}' Input_file