Saya ingin grep smb.conf
dan hanya melihat baris yang tidak dikomentari.
Jawaban yang Diterima:
grep "^[^#;]" smb.conf
^
pertama mengacu pada awal baris, jadi baris dengan komentar yang dimulai setelah karakter pertama tidak akan dikecualikan. [^#;]
berarti karakter apa pun yang bukan #
atau ;
.
Dengan kata lain, ini melaporkan baris yang dimulai dengan karakter apa pun selain #
dan ;
. Ini tidak sama dengan melaporkan baris yang tidak dimulai dengan #
dan ;
(untuk itu Anda akan menggunakan grep -v '^[#;]'
) yang juga mengecualikan kosong baris, tapi itu mungkin lebih baik dalam kasus ini karena saya ragu Anda peduli dengan baris kosong.
Jika Anda ingin mengabaikan karakter kosong di depan, Anda dapat mengubahnya menjadi:
grep '^[[:blank:]]*[^[:blank:]#;]' smb.conf
atau
grep -vxE '[[:blank:]]*([#;].*)?' smb.conf
Atau
awk '$1 ~ /^[^;#]/' smb.conf
Tampilkan Semua File Hingga Pertandingan?
Linux – Menggunakan Spasi Sebelum Partisi Pertama Usb-stick Sebagai Kunci Luks?