Vários casos de Linux usando awk para remover valores duplicados

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 +
+++++++++++++++++++++++++++++++++++++++++

Acho que você gosta

Origin blog.csdn.net/shenyuye/article/details/107725445
Recomendado
Clasificación