Cara Mencari Data Pendua dalam Fail Teks Linux Dengan uniq

Cara Mencari Data Pendua dalam Fail Teks Linux Dengan uniq

Adakah anda pernah menemui fail teks dengan baris berulang dan kata pendua? Mungkin anda kerap menggunakan output perintah dan ingin menyaringnya untuk rentetan yang berbeza. Ketika datang ke fail teks dan penghapusan data berlebihan di Linux, perintah uniq adalah pertaruhan terbaik anda.





Dalam artikel ini, kita akan membincangkan perintah uniq secara mendalam, bersama dengan panduan terperinci mengenai cara menggunakan perintah untuk menghapus baris pendua dari fail teks.





Apakah Perintah Uniq?

Perintah uniq di Linux digunakan untuk memaparkan baris yang sama dalam fail teks. Perintah ini dapat berguna jika anda ingin membuang kata atau rentetan pendua dari fail teks. Oleh kerana arahan uniq sesuai dengan baris bersebelahan untuk mencari salinan berlebihan, ia hanya berfungsi dengan fail teks yang disusun.





Nasib baik, anda boleh membuat paip mengurut perintah dengan uniq untuk mengatur fail teks dengan cara yang sesuai dengan arahan. Selain memaparkan baris berulang, perintah uniq juga dapat menghitung kejadian baris pendua dalam fail teks.

Cara Menggunakan Perintah uniq

Terdapat pelbagai pilihan dan bendera yang boleh anda gunakan dengan uniq. Sebahagian daripadanya adalah asas dan melakukan operasi mudah seperti mencetak baris berulang, sementara yang lain adalah untuk pengguna lanjutan yang sering bekerja dengan fail teks di Linux.



Sintaksis Asas

Sintaks asas perintah uniq adalah:

uniq option input output

... di mana pilihan adalah bendera yang digunakan untuk menggunakan kaedah perintah tertentu, input adalah fail teks untuk diproses, dan pengeluaran adalah jalan fail yang akan menyimpan output.





The pengeluaran hujah adalah pilihan dan boleh dilangkau. Sekiranya pengguna tidak menentukan fail input, uniq mengambil data dari output standard sebagai input. Ini membolehkan pengguna menyalurkan uniq dengan arahan Linux yang lain .

Fail Teks Contoh

Kami akan menggunakan fail teks pendua.txt sebagai input untuk arahan.





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 bahawa kami telah menyusun fail teks ini menggunakan mengurut arahan. Sekiranya anda menggunakan beberapa fail teks lain, anda boleh menyusunnya menggunakan arahan berikut:

sort filename.txt > sorted.txt

Buang Garisan Pendua

Penggunaan uniq yang paling asas adalah membuang rentetan berulang dari input dan mencetak output unik.

uniq duplicate.txt

Pengeluaran:

Perhatikan bahawa sistem tidak memperlihatkan kejadian baris kedua Ini adalah fail teks . Juga, perintah yang disebutkan di atas hanya mencetak baris unik dalam fail dan tidak mempengaruhi kandungan fail teks asal.

Kira Garisan Berulang

Untuk mengeluarkan bilangan baris berulang dalam file teks, gunakan -c bendera dengan arahan lalai.

uniq -c duplicate.txt

Pengeluaran:

Sistem memaparkan jumlah setiap baris yang ada dalam fail teks. Anda dapat melihat bahawa garis Ini adalah fail teks berlaku dua kali dalam fail. Secara lalai, perintah uniq peka huruf besar kecil.

Untuk hanya mencetak baris pendua dari fail teks, gunakan -D bendera. The -D bermaksud Gandakan .

uniq -D duplicate.txt

Sistem akan memaparkan output seperti berikut.

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

Langkau Medan Semasa Memeriksa Pendua

Sekiranya anda ingin melangkau sebilangan bidang sambil memadankan rentetan, anda boleh menggunakan -f bendera dengan arahan. The -f bermaksud Padang .

Pertimbangkan fail teks berikut bidangs.txt .

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

Untuk melangkau bidang pertama:

uniq -f 1 fields.txt

Pengeluaran:

192.168.0.1 TCP
Linux FS

Perintah di atas melangkau bidang pertama (alamat IP dan nama OS) dan sepadan dengan kata kedua (TCP dan FS). Kemudian, ia menunjukkan kejadian pertama setiap perlawanan sebagai output.

Abaikan Perwatakan Semasa Membanding

Seperti melangkau bidang, anda juga boleh melangkau watak. The -s bendera membolehkan anda menentukan bilangan watak yang akan dilangkau sambil memadankan baris pendua. Fungsi ini membantu apabila data yang anda gunakan dalam bentuk senarai seperti berikut:

jalan pintas papan kekunci untuk tingkap tidur 10
1. First
2. Second
3. Second
4. Second
5. Third
6. Third
7. Fourth
8. Fifth

Untuk mengabaikan dua watak pertama (penomoran senarai) dalam fail senarai.txt :

uniq -s 2 list.txt

Pengeluaran:

Dalam output di atas, dua watak pertama diabaikan dan selebihnya dipadankan untuk baris yang unik.

Periksa N Nombor Karakter Pertama untuk Pendua

The -dalam bendera membolehkan anda memeriksa bilangan watak yang tetap untuk pendua. Sebagai contoh:

uniq -w 2 duplicate.txt

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

Pengeluaran:

Keluarkan Sensitiviti Kes

Seperti yang disebutkan di atas, uniq peka huruf besar-kecil semasa memadankan baris dalam fail. Untuk mengabaikan huruf besar, gunakan -i pilihan dengan arahan.

uniq -i duplicate.txt

Anda akan melihat output berikut.

Perhatikan pada output di atas, uniq tidak memaparkan garis LAKUKAN INI dan INI ADALAH FILE TEKS .

Hantar Keluaran ke Fail

Untuk menghantar output perintah uniq ke fail, anda boleh menggunakan Pengalihan Keluaran ( > ) watak seperti berikut:

uniq -i duplicate.txt > otherfile.txt

Ketika mengirim output ke file teks, sistem tidak menampilkan output perintah. Anda boleh menyemak kandungan fail baru menggunakan kucing arahan.

cat otherfile.txt

Anda juga boleh menggunakan cara lain untuk hantar output baris perintah ke fail di Linux .

Menganalisis Data Pendua Dengan uniq

Sebahagian besar masa semasa menguruskan pelayan Linux, anda akan bekerja di terminal atau mengedit fail teks. Oleh itu, mengetahui cara membuang salinan baris yang berlebihan dalam fail teks boleh menjadi aset yang bagus untuk set kemahiran Linux anda.

Bekerja dengan fail teks boleh mengecewakan jika anda tidak tahu cara menyaring dan menyusun teks dalam fail. Untuk memudahkan kerja anda, Linux mempunyai beberapa arahan penyuntingan teks seperti sed dan awk yang membolehkan anda bekerja dengan berkesan dengan fail teks dan output baris perintah.

Berkongsi Berkongsi Tweet E-mel 10 Contoh Sed Ini Akan Menjadikan Anda Pengguna Kuasa Linux

Ingin menjadi pengguna kuasa Linux? Menangani sed akan membantu. Belajar dari 10 contoh sed ini.

Baca Seterusnya
Topik-topik yang berkaitan
  • Linux
  • Linux
Mengenai Pengarang Deepesh Sharma(79 Artikel Diterbitkan)

Deepesh adalah Editor Junior untuk Linux di MUO. Dia menulis panduan maklumat mengenai Linux, bertujuan untuk memberikan pengalaman yang menggembirakan kepada semua pendatang baru. Tidak pasti mengenai filem, tetapi jika anda ingin bercakap mengenai teknologi, dia adalah lelaki anda. Pada masa lapang, anda dapat menemuinya membaca buku, mendengar genre muzik yang berbeza, atau bermain gitarnya.

Lebih Banyak Dari Deepesh Sharma

Langgan buletin kami

Sertailah buletin kami untuk mendapatkan petua, ulasan, ebook percuma, dan tawaran eksklusif!

Klik di sini untuk melanggan