Sadece awk komutunuzu, yinelenen satırları kaldırmak için gerçekleştirmek istediğiniz sütuna değiştirin (sizin durumunuz üçüncü durumda):
awk '!seen[$3]++' filename
Bu komut awk
hangi satırların yazdırılacağını söylüyor . Değişken $3
, sütun 3'ün tüm içeriğini tutar ve köşeli parantezler dizi erişimindedir. Bu nedenle, dosya adındaki her üçüncü satır sütunu için, dizinin düğümü seen
artırılır ve söz konusu düğümün içeriği (sütun3 !
) önceden ayarlanmamışsa , satır yazdırılır .
Üstteki awk
komut, giriş dosyasındaki sütunlarınız kendi aralarında space
veya kendi Tab
aralarında ayrılmışsa, sütunlar başka bir şeyle sınırlandırılmışsa, bu -F
seçeneğiyle birlikte kullanılmasını söylemeniz gerekir . Öyleyse, örneğin tüm sütunlar virgül ( ,
) ile sınırlandırılmışsa ve üçüncü sütun kullanımındaki satır tabanını kaldırmak istiyorsa -F','
.
awk -F',' '!seen[$3]++' filename
-u
Tek , yinelenen anahtarları değil yalnızca yinelenen satırları kaldıracak ... ama hatalıyım.