我想从文件中删除重复的订单项:
myfile.txt的
productItem1 ProductName11,ProdutctPrice27,ProductModelHP11,10/06/2016,ProductDescription-abc1,,,,,,01/11/2017
productItem2 ProductName12,ProdutctPrice99,ProductModelHP12,10/06/2016,ProductDescription-abc2,,,,,,09/02/2017
productItem3 ProductName13,ProdutctPrice87,ProductModelHP13,10/06/2016,ProductDescription-abc3,,,,,,09/02/2017
productItem1 ProductName11,ProdutctPrice27,ProductModelHP11,10/06/2016,ProductDescription-abc1,,,,,,01/12/2017
productItem1 ProductName11,ProdutctPrice27,ProductModelHP11,10/06/2016,ProductDescription-abc1,,,,,,01/11/2017
如上例所示,我想消除重复记录 - 在这种情况下, productItem1 有重复记录。我想根据这些字段删除重复项( ProductName11,ProdutctPrice27,ProductModelHP11 )。
我想保留最近约会的记录。在这个例子中,10/02/2017是greate,但它有两个条目 - 我想从两个条目中选择其中一个。
我们如何在shell脚本中消除 输出应为:newFile.txt
productItem2 ProductName12,ProdutctPrice99,ProductModelHP12,10/06/2016,ProductDescription-abc2,,,,,,09/02/2017
productItem3 ProductName13,ProdutctPrice87,ProductModelHP13,10/06/2016,ProductDescription-abc3,,,,,,09/02/2017
productItem1 ProductName11,ProdutctPrice27,ProductModelHP11,10/06/2016,ProductDescription-abc1,,,,,,01/12/2017
答案 0 :(得分:0)
尝试
sort myfile.txt|uniq > newFile.txt
答案 1 :(得分:0)
试试这行:
awk '{a[$1]=$0}END{for(x in a) print a[x]}' file
答案 2 :(得分:0)
短GNU datamash -st, -g1,2,3 last 5 <file.txt > result.txt
解决方案:
result.txt
最终productItem1 ProductName11,ProdutctPrice27,ProductModelHP11,10/02/2017
productItem2 ProductName12,ProdutctPrice99,ProductModelHP12,09/02/2017
productItem3 ProductName13,ProdutctPrice87,ProductModelHP13,09/02/2017
内容:
flex: 1
答案 3 :(得分:0)
与@jprism一样,只需要添加'-u'( - unique)选项,如下所示:
sort input.file | uniq -u > output.file
答案 4 :(得分:0)
你可以尝试这个
awk -F ' |,' '{t=$NF;gsub("/","",t);if(b[$1]<t){a[$1]=$0;b[$1]=t}}END{for(x in a)print a[x]}' infile
空格或,是字段分隔符。
取t中的最后一个字段,删除/得到一个数字,如果它大于之前的b [$ 1],则保留在数组b中。
同时,数组a保持整行a [$ 0]。
在最后的打印数组a
答案 5 :(得分:0)
使用HP12打印行以及接下来的两行。
awk '/HP12/{x=NR+2}(NR<=x){print}' file
productItem2 ProductName12,ProdutctPrice99,ProductModelHP12,10/06/2016,ProductDescription-abc2,,,,,,09/02/2017
productItem3 ProductName13,ProdutctPrice87,ProductModelHP13,10/06/2016,ProductDescription-abc3,,,,,,09/02/2017
productItem1 ProductName11,ProdutctPrice27,ProductModelHP11,10/06/2016,ProductDescription-abc1,,,,,,01/12/2017