Rumah > Tutorial sistem > LINUX > Bandingkan dua fail yang diisih dengan menggunakan arahan 'comm'.

Bandingkan dua fail yang diisih dengan menggunakan arahan 'comm'.

WBOY
Lepaskan: 2024-01-08 14:50:27
ke hadapan
908 orang telah melayarinya
Perintah
Pengenalancomm dalam Linux membolehkan pengguna membandingkan dua diisih fail baris demi baris. Dalam tutorial ini, kami akan membincangkan alat baris arahan ini menggunakan beberapa contoh yang mudah difahami. Sebelum anda memulakan, sila ambil perhatian bahawa semua contoh yang dinyatakan dalam tutorial ini telah diuji pada versi Ubuntu 16.04LTS. .

Contoh berikut akan menunjukkan kepada anda cara arahan comm berfungsi. .

比较两个排序好的文件的方法—— comm

Cara menggunakan kom untuk membandingkan dua fail yang diisih

Untuk menggunakan perintah comm untuk membandingkan dua fail yang diisih, cuma hantar nama mereka sebagai argumen kepada perintah comm . Berikut ialah sintaks biasa:

comm [name-of-first-file] [name-of-second-file]
Salin selepas log masuk

Sebagai contoh, katakan fail1 dan fail2 ialah dua fail dalam kes ini. Yang pertama mengandungi baris berikut:

001
056
127
258
Salin selepas log masuk

Yang terakhir mengandungi baris berikut:

002
056
167
369
Salin selepas log masuk

Pada masa ini, output arahan comm adalah seperti yang ditunjukkan di bawah:

comm file1 file2
Salin selepas log masuk

比较两个排序好的文件的方法—— comm

Anda dapat melihat bahawa output mengandungi 3 lajur. Lajur pertama ialah apa yang terkandung hanya dalam file1, lajur kedua ialah apa yang terkandung hanya dalam file2, dan akhirnya, lajur ketiga ialah apa yang terkandung dalam kedua-dua fail.

Bagaimana untuk tidak mengeluarkan lajur tertentu dalam output arahan kom

Jika anda mahu, anda tidak boleh mengeluarkan lajur tertentu dalam output arahan comm. Anda mempunyai tiga pilihan baris arahan yang tersedia untuk ciri ini: -1, -2 dan -3. Seperti yang anda mungkin rasa, nombor ini mewakili lajur yang anda tidak mahu keluarkan.

Sebagai contoh, arahan berikut tidak akan mengeluarkan lajur ketiga dalam contoh di atas:

comm -3 file1 file2
Salin selepas log masuk

比较两个排序好的文件的方法—— comm

Jadi, anda dapat melihat bahawa tiada output dalam lajur ketiga.

Perhatikan bahawa anda tidak boleh mengeluarkan berbilang lajur pada masa yang sama dengan satu arahan. Contohnya:

comm -12 file1 file2
Salin selepas log masuk

Arahan di atas tidak akan mengeluarkan lajur pertama dan kedua.

Cara menggunakan arahan comm untuk membandingkan dua fail yang tidak diisih

Seperti yang kita tahu, comm hanya berfungsi pada fail yang diisih. Jika didapati salah satu fail tidak diisih, mesej akan dijana dalam output untuk memaklumkan kepada pengguna. Contohnya, kami menukar baris pertama dan kedua file1 dan bandingkan dengan file2. Berikut ialah output arahan:

比较两个排序好的文件的方法—— comm

Anda dapat melihat bahawa arahan ini menghasilkan output yang memberitahu kami: file1 belum diisih lagi. Pada ketika ini, jika anda tidak mahu alat menyemak sama ada input diisih, anda boleh menggunakan pilihan --nocheck-order:

comm --nocheck-order file1 file2
Salin selepas log masuk

比较两个排序好的文件的方法—— comm

Anda dapat melihat bahawa mesej gesaan yang muncul sebelum ini telah hilang.

Nota, jika anda ingin memberitahu arahan comm secara eksplisit untuk menyemak sama ada fail input diisih, maka anda boleh menggunakan pilihan --check-order.

如何用自定义字符串分隔comm 命令的输出列

默认情况下,comm 命令的输出列之间是以空格分隔的。然而,如何你想使用一个自定义字符串作为分隔符,那么你可以使用 --output-delimiter选项。使用该选项时需要指定你想用来作为分隔符的字符串。

comm --output-delimiter=+ file1 file2
Salin selepas log masuk

比如,我们使用加号来作为分隔符:

比较两个排序好的文件的方法—— comm

如何使 comm 的输出行以 NUL字符终止

默认情况下,comm 命令的输出行以新行终止。然而,如果你想,那么你可以改为以 NUL 字符终止,只需要使用-z 选项即可:

comm -z file1 file2
Salin selepas log masuk
结论

comm 命令并没有特别多的特性性,我们在这儿已经讨论了它的绝大多数命令行选项。只需要理解和练习在这篇教程中讨论的内容,那么你便可以在日常工作中知道如何使用这个工具了。如果你有任何问题或者疑问,请前往该命令的 man 手册,或者在下面评论。


Atas ialah kandungan terperinci Bandingkan dua fail yang diisih dengan menggunakan arahan 'comm'.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:linuxprobe.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan