GNU/Linux >> Belajar Linux >  >> Linux

Tutorial Perintah Linux Uniq untuk Pemula (10 contoh)

Jika Anda adalah pengguna baris perintah Linux, dan pekerjaan Anda melibatkan bermain dengan file teks, Anda harus tahu (jika belum) bahwa ada banyak utilitas baris perintah yang mungkin sangat membantu Anda dalam situasi yang berbeda. Misalnya, ada alat yang dijuluki 'uniq' yang melaporkan atau bahkan menghapus baris berulang dalam file.

Pada artikel ini, kita akan membahas 'uniq' melalui contoh yang mudah dipahami. Namun sebelum kita melakukannya, perlu disebutkan bahwa semua contoh dan instruksi yang disebutkan dalam tutorial ini telah diuji di Ubuntu 16.04LTS.

Perintah Linux Uniq

Seperti yang telah disebutkan di awal, perintah uniq melaporkan atau menghilangkan baris yang berulang. Berikut sintaks umum dari perintah ini:

uniq [OPSI]... [INPUT [OUTPUT]]

Menurut halaman manual utilitas:"Filter garis pencocokan yang berdekatan dari INPUT (atau input standar), menulis ke OUTPUT (atau output standar). Tanpa opsi, garis yang cocok digabungkan ke kemunculan pertama."

Berikut adalah beberapa contoh yang akan membantu Anda memahami alat ini dengan lebih baik.

1. Cara menghapus baris berulang menggunakan perintah uniq

Misalkan file berisi baris berikut:

Jelas, setiap baris diulang. Sekarang mari kita jalankan Uniq pada file ini, dan lihat apa yang terjadi.

uniq file1

Jadi seperti yang Anda lihat, output perintah yang dihasilkan tidak berisi baris yang berulang. Harap dicatat bahwa file asli - 'file1' dalam kasus kami - tetap tidak terpengaruh. Anda dapat mengarahkan output alat ke file lain jika Anda ingin menyimpan dan mengerjakannya.

2. Cara menampilkan jumlah pengulangan untuk setiap baris

Jika mau, Anda juga dapat membuat tampilan uniq dalam output berapa kali garis diulang. Ini dapat dilakukan dengan menggunakan -c opsi baris perintah. Misalnya, perintah berikut:

uniq -c file1

menghasilkan output berikut:

Jadi seperti yang Anda lihat, jumlah pengulangan untuk setiap baris diberi awalan sebelum di output.

3. Bagaimana hanya mencetak baris duplikat menggunakan uniq

Untuk membuat uniq print hanya duplikat baris, gunakan -D opsi baris perintah. Misalnya, file1 sekarang berisi baris tambahan di bagian bawah (perhatikan bahwa baris ini tidak diulang).

Sekarang, ketika saya menjalankan perintah berikut:

uniq -D file1

Output berikut dihasilkan:

Seperti yang Anda lihat, opsi -D membuat uniq menampilkan semua baris yang berulang dalam output, termasuk semua pengulangannya. Untuk memisahkan lebih baik, Anda dapat memiliki baris kosong setelah setiap grup baris berulang, sesuatu yang dapat dilakukan dengan menggunakan --all-repeated pilihan.

uniq --all-repeated[=METHOD] file1

Opsi ini memerlukan nama metode yang akan dimasukkan oleh pengguna. Nilainya bisa prepend (untuk menambahkan baris kosong) atau memisahkan (untuk menambahkan baris kosong). Misalnya, inilah opsi yang beraksi dengan prepend metode.

Selanjutnya, jika Anda ingin alat hanya menampilkan satu baris duplikat per grup, Anda dapat menggunakan -d pilihan. Ini contohnya:

Jelas, hanya satu baris berulang dari setiap grup yang ditampilkan di output.

4. Cara membuat uniq menghindari membandingkan beberapa bidang pertama

Terkadang, tergantung pada situasinya, kesamaan dua garis ditentukan oleh sebagian kecil dari garis tersebut. Misalnya, perhatikan konten file berikut:

Sekarang, misalkan garis dianggap serupa atau berbeda berdasarkan bidang keduanya (HTF atau FF), dan Anda ingin menyampaikan ini ke uniq, maka ini dapat dilakukan dengan menggunakan -f opsi baris perintah.

uniq -f [number-of-fields-to-skip] [file-name]

Opsi -f mengharuskan Anda untuk memberikan angka yang mewakili jumlah kolom yang ingin Anda lewati oleh perintah. Misalnya, dalam kasus kami, kami dapat meneruskan '1' sebagai argumen ke -f karena hanya bidang pertama yang ingin kami lewati oleh uniq.

uniq -f 1 file1

Outputnya dengan jelas menunjukkan bahwa uniq menganggap baris pertama dan ketiga sebagai pengulangan berdasarkan bidang kedua masing-masing.

5. Cara membuat uniq menampilkan semua baris, sambil memisahkan grup berulang dengan baris kosong

Jika persyaratannya adalah untuk menampilkan semua garis, sambil memisahkan kelompok garis yang berulang dengan garis kosong, maka Anda dapat menggunakan --group pilihan. Seperti --semua-berulang opsi yang kita bahas sebelumnya, --group juga mengharuskan Anda untuk memberi tahu posisi baris kosong (tambahkan , tambahkan , atau keduanya ).

Ini contohnya:

Perhatikan bahwa opsi -f telah kita bahas di bagian sebelumnya.

6. Cara membuat uniq hanya mencetak garis yang tidak berulang

Seperti yang sudah Anda pahami sekarang, secara default perintah uniq hanya menampilkan baris berulang dalam output. Tetapi jika Anda mau, Anda dapat membuatnya hanya menampilkan garis yang tidak berulang atau unik. Ini dapat dilakukan dengan menggunakan -u opsi baris perintah.

uniq -u [file-name]

Jadi, dalam kasus kami:

uniq -u file1

Ini contohnya:

Perhatikan bahwa opsi -f telah kita bahas di bagian/poin nomor 4.

7. Cara membuat uniq menghindari membandingkan jumlah karakter awal yang ditetapkan

Dalam salah satu contoh kami sebelumnya, kami membahas bagaimana Anda dapat membuat uniq melewati bidang. Namun, jika mau, Anda juga dapat memaksa alat untuk melewati sejumlah karakter awal yang ditetapkan. Fitur ini dapat diakses menggunakan -s opsi baris perintah.

uniq -s [number-of-char] nama file

Misalnya, file berisi baris berikut:

Sekarang, jika Anda ingin uniq melewati 4 karakter pertama di setiap baris sebelum membandingkan, maka ini dapat dilakukan dengan cara berikut:

uniq -s 4 file1

Berikut tindakan perintah di atas:

Jadi Anda dapat melihat bahwa baris keempat (faq_forge) yang semula ada telah dilewati di output. Ini karena setelah melewatkan empat karakter pertama, baris ketiga dan keempat sama, dan karenanya dianggap diulang oleh uniq.

8. Bagaimana membatasi perbandingan untuk mengatur jumlah karakter

Mirip dengan cara Anda melewatkan karakter, Anda juga dapat meminta uniq untuk membatasi perbandingan ke sejumlah karakter yang ditentukan. Untuk ini, Anda harus menggunakan -w opsi baris perintah.

uniq -w [jumlah karakter] [nama file]

Misalnya, file berisi baris berikut:

Sekarang, jika persyaratannya adalah membatasi perbandingan ke 3 karakter pertama, maka ini dapat dilakukan dengan cara berikut:

uniq -w 3 file1

Berikut adalah tindakan perintah di atas:

Karena 3 karakter pertama dari baris ketiga dan keempat adalah sama, maka baris ini dianggap berulang. Oleh karena itu, hanya yang ketiga yang ditampilkan di output.

9. Bagaimana membuat perbandingan uniq case menjadi tidak sensitif

Secara default, perbandingan yang dilakukan uniq bersifat case-sensitive. Namun, Anda dapat membuat proses peka huruf besar/kecil menggunakan -i opsi baris perintah.

Misalnya, perhatikan kasus yang sama yang kita bahas di bagian sebelumnya, hanya saja baris keempat dimulai dengan huruf kapital H, O, dan W.

Sekarang, jika Anda mencoba menjalankan perintah yang sama yang kita gunakan di bagian sebelumnya, Anda akan melihat bahwa outputnya berbeda:

Itu karena tiga karakter pertama dari baris ketiga dan keempat berbeda untuk uniq karena kasusnya. Dalam situasi baris ini, Anda dapat membuat perbandingan tidak peka huruf besar/kecil menggunakan opsi baris perintah -i.

10. Cara membuat keluaran uniq dihentikan NUL

Secara default, output yang dihasilkan uniq adalah baris baru dihentikan. Namun, jika Anda mau, Anda dapat memiliki output yang dihentikan NUL sebagai gantinya (berguna saat berurusan dengan skrip uniq). Ini dapat dimungkinkan dengan menggunakan -z opsi baris perintah.

uniq -z  [nama file]

Kesimpulan

Kami telah membahas hampir semua opsi baris perintah yang ditawarkan oleh perintah uniq, jadi praktikkan saja apa pun yang telah kami diskusikan di sini, dan Anda akan mendapatkan ide yang solid tentang cara kerja uniq, dan fitur apa yang disediakannya. Seperti biasa, jika ada pertanyaan atau keraguan, buka halaman manual perintah terlebih dahulu.


Linux
  1. Tutorial perintah cd Linux untuk pemula (8 Contoh)

  2. Tutorial perintah comm Linux untuk pemula (5 contoh)

  3. Tutorial Perintah Tanggal Linux untuk Pemula (8 Contoh)

  1. Tutorial Perintah Linux Uniq untuk Pemula (10 contoh)

  2. Tutorial Perintah Linux df untuk Pemula (8 Contoh)

  3. Tutorial Perintah Linux du untuk Pemula (10 Contoh)

  1. Tutorial Perintah gema Linux untuk Pemula (5 Contoh)

  2. Tutorial Perintah Linux env Untuk Pemula (5 Contoh)

  3. Tutorial Perintah ukuran Linux untuk Pemula (6 Contoh)