Cara Menemukan Data Duplikat di File Teks Linux Dengan uniq

Cara Menemukan Data Duplikat di File Teks Linux Dengan uniq

Pernahkah Anda menemukan file teks dengan baris berulang dan kata duplikat? Mungkin Anda secara teratur bekerja dengan output perintah dan ingin memfilternya untuk string yang berbeda. Ketika datang ke file teks dan penghapusan data yang berlebihan di Linux, perintah uniq adalah pilihan terbaik Anda.





Pada artikel ini, kita akan membahas perintah uniq secara mendalam, bersama dengan panduan terperinci tentang cara menggunakan perintah untuk menghapus baris duplikat dari file teks.





Apa itu Perintah uniq?

Perintah uniq di Linux digunakan untuk menampilkan baris yang identik dalam file teks. Perintah ini dapat membantu jika Anda ingin menghapus kata atau string duplikat dari file teks. Karena perintah uniq cocok dengan baris yang berdekatan untuk menemukan salinan yang berlebihan, ini hanya berfungsi dengan file teks yang diurutkan.





Untungnya, Anda dapat menyalurkannya menyortir perintah dengan uniq untuk mengatur file teks dengan cara yang kompatibel dengan perintah. Selain menampilkan baris yang berulang, perintah uniq juga dapat menghitung kemunculan baris duplikat dalam file teks.

Cara Menggunakan Perintah uniq

Ada berbagai opsi dan flag yang dapat Anda gunakan dengan uniq. Beberapa dari mereka adalah dasar dan melakukan operasi sederhana seperti mencetak baris berulang, sementara yang lain untuk pengguna tingkat lanjut yang sering bekerja dengan file teks di Linux.



Sintaks Dasar

Sintaks dasar dari perintah uniq adalah:

uniq option input output

...di mana pilihan adalah bendera yang digunakan untuk memanggil metode perintah tertentu, memasukkan adalah file teks untuk diproses, dan keluaran adalah jalur file yang akan menyimpan output.





NS keluaran argumen adalah opsional dan dapat dilewati. Jika pengguna tidak menentukan file input, uniq mengambil data dari output standar sebagai input. Ini memungkinkan pengguna untuk menyalurkan uniq dengan perintah Linux lainnya .

Contoh File Teks

Kami akan menggunakan file teks duplikat.txt sebagai masukan untuk perintah.





127.0.0.1 TCP
127.0.0.1 UDP
Do catch this
DO CATCH THIS
Don't match this
Don't catch this
This is a text file.
This is a text file.
THIS IS A TEXT FILE.
Unique lines are really rare.

Perhatikan bahwa kami telah mengurutkan file teks ini menggunakan menyortir memerintah. Jika Anda bekerja dengan beberapa file teks lain, Anda dapat mengurutkannya menggunakan perintah berikut:

sort filename.txt > sorted.txt

Hapus Garis Duplikat

Penggunaan paling dasar dari uniq adalah untuk menghapus string berulang dari input dan mencetak output unik.

uniq duplicate.txt

Keluaran:

Perhatikan bahwa sistem tidak menampilkan kemunculan kedua dari baris Ini adalah file teks . Juga, perintah yang disebutkan di atas hanya mencetak baris unik dalam file dan tidak memengaruhi konten file teks asli.

Hitung Garis Berulang

Untuk menampilkan jumlah baris berulang dalam file teks, gunakan: -C tandai dengan perintah default.

uniq -c duplicate.txt

Keluaran:

Sistem menampilkan hitungan setiap baris yang ada pada file teks. Anda dapat melihat garis itu Ini adalah file teks terjadi dua kali dalam file. Secara default, perintah uniq peka terhadap huruf besar/kecil.

Untuk hanya mencetak baris duplikat dari file teks, gunakan -D bendera. NS -D berdiri untuk Duplikat .

uniq -D duplicate.txt

Sistem akan menampilkan output sebagai berikut.

This is a text file.
This is a text file.

Lewati Bidang Saat Memeriksa Duplikat

Jika Anda ingin melewatkan sejumlah bidang saat mencocokkan string, Anda dapat menggunakan -F bendera dengan perintah. NS -F berdiri untuk Bidang .

Perhatikan file teks berikut field.txt .

192.168.0.1 TCP
127.0.0.1 TCP
354.231.1.1 TCP
Linux FS
Windows FS
macOS FS

Untuk melewati bidang pertama:

uniq -f 1 fields.txt

Keluaran:

192.168.0.1 TCP
Linux FS

Perintah yang disebutkan di atas melewatkan bidang pertama (alamat IP dan nama OS) dan mencocokkan kata kedua (TCP dan FS). Kemudian, ditampilkan kemunculan pertama dari setiap kecocokan sebagai output.

Abaikan Karakter Saat Membandingkan

Seperti melewatkan bidang, Anda juga dapat melewati karakter. NS -S flag memungkinkan Anda menentukan jumlah karakter yang akan dilewati saat mencocokkan baris duplikat. Fitur ini membantu ketika data yang Anda kerjakan berbentuk daftar sebagai berikut:

kesalahan perangkat i / o windows 10
1. First
2. Second
3. Second
4. Second
5. Third
6. Third
7. Fourth
8. Fifth

Untuk mengabaikan dua karakter pertama (daftar penomoran) dalam file list.txt :

uniq -s 2 list.txt

Keluaran:

Pada output di atas, dua karakter pertama diabaikan dan sisanya dicocokkan untuk baris unik.

Periksa N Jumlah Karakter Pertama untuk Duplikat

NS -di dalam flag memungkinkan Anda untuk memeriksa hanya sejumlah karakter tetap untuk duplikat. Sebagai contoh:

uniq -w 2 duplicate.txt

Perintah yang disebutkan di atas hanya akan cocok dengan dua karakter pertama dan akan mencetak baris unik jika ada.

Keluaran:

Hapus Sensitivitas Huruf Besar

Seperti disebutkan di atas, uniq peka terhadap huruf besar-kecil saat mencocokkan baris dalam file. Untuk mengabaikan huruf besar-kecil, gunakan -Saya pilihan dengan perintah.

uniq -i duplicate.txt

Anda akan melihat output berikut.

Perhatikan pada output di atas, uniq tidak menampilkan garis TANGKAP INI dan INI ADALAH FILE TEKS .

Kirim Output ke File

Untuk mengirim output dari perintah uniq ke file, Anda dapat menggunakan Pengalihan Keluaran ( > ) karakter sebagai berikut:

uniq -i duplicate.txt > otherfile.txt

Saat mengirim output ke file teks, sistem tidak menampilkan output dari perintah. Anda dapat memeriksa konten file baru menggunakan kucing memerintah.

cat otherfile.txt

Anda juga dapat menggunakan cara lain untuk kirim output baris perintah ke file di Linux .

Menganalisis Data Duplikat Dengan uniq

Sebagian besar waktu saat mengelola server Linux, Anda akan bekerja di terminal atau mengedit file teks. Oleh karena itu, mengetahui cara menghapus salinan baris yang berlebihan dalam file teks dapat menjadi aset yang bagus untuk keahlian Linux Anda.

Bekerja dengan file teks bisa membuat frustasi jika Anda tidak tahu cara memfilter dan mengurutkan teks dalam file. Untuk mempermudah pekerjaan Anda, Linux memiliki beberapa perintah pengeditan teks seperti: sed dan awk yang memungkinkan Anda bekerja secara efisien dengan file teks dan output baris perintah.

Membagikan Membagikan Menciak Surel 10 Contoh Sed Ini Akan Membuat Anda Menjadi Pengguna Power Linux

Ingin menjadi pengguna kekuatan Linux? Memahami sed akan membantu. Belajar dari 10 contoh sed ini.

Baca Selanjutnya
Topik-topik yang berkaitan
  • Linux
  • Linux
Tentang Penulis Deepesh Sharma(79 Artikel Diterbitkan)

Deepesh adalah Editor Junior untuk Linux di MUO. Dia menulis panduan informasi di Linux, yang bertujuan untuk memberikan pengalaman yang menyenangkan bagi semua pendatang baru. Tidak yakin tentang film, tetapi jika Anda ingin berbicara tentang teknologi, dia adalah pria Anda. Di waktu luangnya, Anda dapat menemukannya membaca buku, mendengarkan berbagai genre musik, atau bermain gitar.

More From Deepesh Sharma

Berlangganan newsletter kami

Bergabunglah dengan buletin kami untuk kiat teknologi, ulasan, ebook gratis, dan penawaran eksklusif!

Klik di sini untuk berlangganan