Awk remove padrões repetidos da seguinte maneira:
!a[$0]++
Onde $ 0 significa a linha inteira, $ 1 significa a primeira coluna, $ 2 significa a segunda coluna ...
Os arquivos são os seguintes:
[root@fan102 test]# cat tt.txt
蜀 打野 刘备
蜀 打野 刘备
蜀 打野 刘备
蜀 战士 关羽
蜀 射手 黄忠
魏 打野 曹操
魏 战士 典韦
魏 战士 夏侯惇
吴 法师 周瑜
吴 法师 小乔
吴 射手 孙尚香
1. Remova as linhas duplicadas na primeira coluna
Pegue a primeira linha da saída de linha repetida
[root@fan102 test]# cat tt.txt | awk '!a[$1]++{print}'
蜀 打野 刘备
魏 打野 曹操
吴 法师 周瑜
2. Remova as linhas duplicadas na primeira e segunda colunas
[root@fan102 test]# cat tt.txt | awk '!a[$1" "$2]++{print}'
蜀 打野 刘备
蜀 战士 关羽
蜀 射手 黄忠
魏 打野 曹操
魏 战士 典韦
吴 法师 周瑜
吴 射手 孙尚香
3. Remova as linhas duplicadas (a linha inteira é repetida)
[root@localhost cc]# cat tt.txt | awk '!a[$0]++{print}'
蜀 打野 刘备
蜀 战士 关羽
蜀 射手 黄忠
魏 打野 曹操
魏 战士 典韦
魏 战士 夏侯惇
吴 法师 周瑜
吴 法师 小乔
吴 射手 孙尚香
4. Exibir apenas linhas repetidas (não!)
[root@fan02 test]# cat tt.txt | awk 'a[$0]++{print}'
蜀 打野 刘备
+++++++++++++++++++++++++++++++++++++++++++
+ Se você tiver alguma dúvida, você pode + Q: 1602701980 Discutir juntos +
+++++++++++++++++++++++++++++++++++++++++