Saat Anda menampilkan kode sumber atau konten file konfigurasi dalam output standar menggunakan cat
perintah, Anda akan melihat semua yang ada di file itu termasuk baris yang dikomentari dan kosong, bukan? Ya. Bagaimana jika Anda hanya ingin melihat baris yang tidak dikomentari, mengabaikan yang lainnya? Yah, dimungkinkan untuk mengabaikan baris yang dikomentari dan kosong dari output file. Dalam panduan singkat ini, kita akan melihat cara mencetak file tanpa komentar dan baris kosong di Linux. Ini berguna ketika Anda ingin meninjau file konfigurasi yang berisi banyak komentar dan baris kosong dengan cepat.
Apa itu Komentar dalam pemrograman komputer?
Jika Anda melihat kode sumber atau file konfigurasi, Anda akan melihat banyak baris dimulai dengan tanda bintang "*"
atau hash "#"
atau garis miring "/"
atau tanda titik koma ";"
. Baris ini dikenal sebagai Komentar . Dalam pemrograman komputer, komentar adalah deskripsi atau anotasi yang dapat dibaca manusia yang digunakan untuk memperjelas tujuan kode. Mereka membantu pengguna dan pemrogram lain untuk dengan mudah memahami apa yang dilakukan kode. Umumnya, komentar dan baris kosong akan diabaikan oleh compiler dan interpreter. Mereka hanya untuk programmer. Sintaks komentar bervariasi dalam bahasa pemrograman yang berbeda.
Sekarang mari kita lihat bagaimana mengecualikan atau melewatkan komentar dan baris kosong ini dan hanya menampilkan baris yang tidak dikomentari.
Mencetak file tanpa komentar dan baris kosong di Linux
Mari saya tunjukkan isi sources.list
file sistem Ubuntu saya:
$ cat /etc/apt/sources.list
Contoh keluaran:
# deb cdrom:[Ubuntu 18.04.2 LTS _Bionic Beaver_ - Release amd64 (20190210)]/ bionic main restricted # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to # newer versions of the distribution. deb http://it-mirrors.evowise.com/ubuntu/ focal main restricted # deb-src http://in.archive.ubuntu.com/ubuntu/ bionic main restricted ## Major bug fix updates produced after the final release of the ## distribution. deb http://it-mirrors.evowise.com/ubuntu/ focal-updates main restricted # deb-src http://in.archive.ubuntu.com/ubuntu/ bionic-updates main restricted ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team. Also, please note that software in universe WILL NOT receive any ## review or updates from the Ubuntu security team. deb http://it-mirrors.evowise.com/ubuntu/ focal universe # deb-src http://in.archive.ubuntu.com/ubuntu/ bionic universe deb http://it-mirrors.evowise.com/ubuntu/ focal-updates universe # deb-src http://in.archive.ubuntu.com/ubuntu/ bionic-updates universe ## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu ## team, and may not be under a free licence. Please satisfy yourself as to ## your rights to use the software. Also, please note that software in ## multiverse WILL NOT receive any review or updates from the Ubuntu ## security team. deb http://it-mirrors.evowise.com/ubuntu/ focal multiverse # deb-src http://in.archive.ubuntu.com/ubuntu/ bionic multiverse deb http://it-mirrors.evowise.com/ubuntu/ focal-updates multiverse # deb-src http://in.archive.ubuntu.com/ubuntu/ bionic-updates multiverse ## N.B. software from this repository may not have been tested as ## extensively as that contained in the main release, although it includes ## newer versions of some applications which may provide useful features. ## Also, please note that software in backports WILL NOT receive any review ## or updates from the Ubuntu security team. deb http://it-mirrors.evowise.com/ubuntu/ focal-backports main restricted universe multiverse # deb-src http://in.archive.ubuntu.com/ubuntu/ bionic-backports main restricted universe multiverse ## Uncomment the following two lines to add software from Canonical's ## 'partner' repository. ## This software is not part of Ubuntu, but is offered by Canonical and the ## respective vendors as a service to Ubuntu users. # deb http://archive.canonical.com/ubuntu bionic partner # deb-src http://archive.canonical.com/ubuntu bionic partner deb http://it-mirrors.evowise.com/ubuntu/ focal-security main restricted # deb-src http://security.ubuntu.com/ubuntu bionic-security main restricted deb http://it-mirrors.evowise.com/ubuntu/ focal-security universe # deb-src http://security.ubuntu.com/ubuntu bionic-security universe deb http://it-mirrors.evowise.com/ubuntu/ focal-security multiverse # deb-src http://security.ubuntu.com/ubuntu bionic-security multiverse
Apakah Anda melihat banyak baris yang dikomentari dengan karakter "#"? Itu membuat file kurang terbaca. Ini hanya file kecil, jadi bukan masalah besar. Tetapi ketika Anda membaca file konfigurasi yang sangat panjang, misalnya "httpd.conf" atau "php.ini", Anda harus melalui banyak komentar dan baris kosong dan agak membingungkan untuk menemukan baris mana yang aktif dan mana yang tidak.
Untuk memfilter semua komentar dan baris kosong agar tidak ditampilkan dalam keluaran file, gunakan grep perintah seperti di bawah ini:
$ grep "^[^#*/;]" /etc/apt/sources.list
Di sini,
^
yang pertama karakter menunjukkan awal baris dalam file yang diberikan yaitu/etc/apt/sources.list
.[^#*/;]
- akan menampilkan semua baris yang dimulai dengan karakter selain empat karakter ini"#"
,"*"
,"/"
,";"
. Dengan kata lain, semua baris yang dimulai dengan karakter"#"
,"*"
,"/"
,";"
akan dikeluarkan dari output.
Contoh keluaran dari perintah di atas:
deb http://it-mirrors.evowise.com/ubuntu/ focal main restricted deb http://it-mirrors.evowise.com/ubuntu/ focal-updates main restricted deb http://it-mirrors.evowise.com/ubuntu/ focal universe deb http://it-mirrors.evowise.com/ubuntu/ focal-updates universe deb http://it-mirrors.evowise.com/ubuntu/ focal multiverse deb http://it-mirrors.evowise.com/ubuntu/ focal-updates multiverse deb http://it-mirrors.evowise.com/ubuntu/ focal-backports main restricted universe multiverse deb http://it-mirrors.evowise.com/ubuntu/ focal-security main restricted deb http://it-mirrors.evowise.com/ubuntu/ focal-security universe deb http://it-mirrors.evowise.com/ubuntu/ focal-security multiverse
Lihat? Semua komentar dan baris kosong hilang. Sekarang hasilnya cukup mudah dibaca.
Lihat screenshot berikut:
Di sisi kiri, Anda melihat konten file dengan komentar dan baris kosong. Di sebelah kanan, semua komentar dan baris kosong diabaikan dengan "grep"
perintah.
Saya lebih suka cara grep untuk memfilter baris yang tidak perlu ditampilkan di output. Anda juga dapat melakukannya dengan menggunakan awk
dan sed
perintah juga.
Untuk mencetak isi file kecuali semua komentar dan baris kosong dengan "awk"
perintah, jalankan:
$ awk '$1 ~ /^[^;#]/' /etc/apt/sources.list
Contoh keluaran:
Untuk menampilkan baris dimulai tanpa komentar menggunakan "sed"
perintah, jalankan:
$ sed -e '/^#/d' /etc/apt/sources.list
Untuk detail penggunaan lebih lanjut, lihat halaman manual perintah masing-masing.
$ man awk
$ man grep
$ man sed
Semoga membantu.