Perintah Uniq berguna untuk menghapus atau mendeteksi entri duplikat dalam sebuah file. Tutorial ini menjelaskan beberapa opsi baris perintah uniq yang paling sering digunakan yang mungkin berguna bagi Anda.
File pengujian berikut digunakan dalam beberapa contoh untuk memahami cara kerja perintah uniq.
$ cat test aa aa bb bb bb xx
1. Penggunaan Dasar
Sintaks:
$ uniq [-options]
Misalnya, ketika perintah uniq dijalankan tanpa opsi apa pun, perintah tersebut menghapus baris duplikat dan menampilkan baris unik seperti yang ditunjukkan di bawah ini.
$ uniq test aa bb xx
2. Hitung Jumlah Kejadian menggunakan opsi -c
Opsi ini untuk menghitung kemunculan baris dalam file.
$ uniq -c test 2 aa 3 bb 1 xx
3. Cetak hanya Garis Duplikat menggunakan opsi -d
Opsi ini untuk mencetak hanya duplikat baris berulang dalam file. Seperti yang Anda lihat di bawah, ini tidak menampilkan baris “xx”, karena tidak terduplikasi dalam file pengujian.
$ uniq -d test aa bb
Contoh di atas menampilkan semua baris duplikat, tetapi hanya sekali. Tapi, opsi -D ini akan mencetak semua baris duplikat dalam file. Misalnya, baris "aa" ada dua kali di file pengujian, jadi perintah uniq berikut menampilkan baris "aa" dua kali dalam output ini.
$ uniq -D test aa aa bb bb bb
4. Cetak hanya Garis Unik menggunakan opsi -u
Opsi ini hanya untuk mencetak baris unik dalam file.
$ uniq -u test xx
Jika Anda ingin menghapus baris duplikat dari file menggunakan pola tertentu, Anda dapat menggunakan perintah sed delete.
5. Batasi Perbandingan dengan karakter 'N' menggunakan opsi -w
Opsi ini membatasi perbandingan untuk karakter 'N' yang ditentukan pertama saja. Untuk contoh ini, gunakan file input test2 berikut.
$ cat test2 hi Linux hi LinuxU hi LinuxUnix hi Unix
Perintah uniq berikut menggunakan opsi 'w' adalah membandingkan 8 karakter pertama dari baris dalam file, dan kemudian menggunakan opsi 'c' mencetak jumlah kemunculan baris file.
$ uniq -c -w 8 testNew 3 hi Linux 1 hi Unix
Perintah uniq berikut menggunakan opsi 'w' membandingkan 8 karakter baris pertama dalam file, dan kemudian menggunakan opsi 'D' mencetak semua baris duplikat file.
$ uniq -D -w 8 testNew hi Linux hi LinuxU hi LinuxUnix
6. Hindari Membandingkan Karakter 'N' pertama menggunakan opsi -s
Opsi ini melewatkan perbandingan karakter 'N' yang ditentukan pertama. Untuk contoh ini, gunakan file input test3 berikut.
$ cat test3 aabb xxbb bbc bbd
Perintah uniq berikut menggunakan opsi 's' melompati membandingkan 2 karakter baris pertama dalam file, dan kemudian menggunakan opsi 'D' mencetak semua baris duplikat file.
Di sini, mulai 2 karakter yaitu 'aa' di baris 1 dan ''xx' di baris 2 tidak akan dibandingkan dan kemudian 2 karakter berikutnya 'bb' di kedua baris sama sehingga akan ditampilkan sebagai baris duplikat.
$ uniq -D -s 2 test3 aabb xxbb
7. Hindari Membandingkan Bidang 'N' pertama menggunakan opsi -f
Opsi ini melewatkan perbandingan bidang baris 'N' yang pertama kali ditentukan dalam file.
$ cat test2 hi hello Linux hi friend Linux hi hello LinuxUnix
Perintah uniq berikut menggunakan opsi 'f' melompati membandingkan 2 bidang baris pertama dalam file, dan kemudian menggunakan opsi 'D' mencetak semua baris duplikat file.
Di sini, memulai 2 bidang yaitu 'hai halo' di baris 1 dan 'hai teman' di baris ke-2 tidak akan dibandingkan dan kemudian bidang berikutnya 'Linux' di kedua baris sama sehingga akan ditampilkan sebagai baris duplikat.
$ uniq -D -f 2 test2 hi hello Linux hi friend Linux