Cukup ubah perintah awk Anda ke kolom yang ingin Anda lakukan untuk menghapus duplikat baris berdasarkan (dalam kolom kasus ketiga Anda):
awk '!seen[$3]++' filename
Perintah ini memberitahu awkbaris mana yang akan dicetak. Variabel $3memegang seluruh isi kolom 3 dan tanda kurung siku adalah akses array. Jadi, untuk setiap kolom ketiga baris dalam nama file, simpul array bernama seenbertambah dan garis dicetak jika konten dari node itu (kolom3) tidak ( !) sebelumnya ditetapkan.
awkPerintah di atas akan berfungsi jika kolom Anda di file input dibatasi dengan spaceatau di Tabantara mereka sendiri, jika kolom dibatasi dengan sesuatu yang lain, Anda perlu mengatakannya untuk memilih -Fopsi tersebut. Jadi, misalnya jika semua kolom dibatasi dengan koma ( ,) dan ingin menghapus garis berdasarkan -F','opsi penggunaan kolom ketiga .
awk -F',' '!seen[$3]++' filename
-uhanya akan menghapus garis duplikat , bukan kunci duplikat ... tapi aku salah.