Penguasaan Baris Perintah Linux · Pelajaran

Menapis Teks dengan `grep`

Kuasai `grep` untuk pemadanan corak dan penapisan teks yang berkuasa dalam fail atau output perintah.

Pelajaran 2 daripada 410 langkah

Menapis Teks dengan `grep` ialah pelajaran Penguasaan Baris Perintah Linux percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Penguasaan Baris Perintah Linux, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Penguasaan Baris Perintah Linux merangkumi sejumlah 4 pelajaran.

Apakah `grep`?

Selamat datang ke dunia penapisan teks! Dalam pelajaran ini, kita akan menguasai perintah grep yang hebat.

grep ialah singkatan bagi Global Regular Expression Print. Ia ialah utiliti baris perintah yang berkuasa untuk mencari set data teks biasa bagi baris yang sepadan dengan ungkapan nalar.

  • Ia membantu Anda mencari maklumat tertentu dengan cepat dalam fail.
  • Ia menapis output daripada perintah lain.
  • Ia amat penting untuk pentadbiran sistem, pengaturcaraan dan analisis data.

Carian `grep` Pertama Anda

Penggunaan paling asas grep adalah untuk mencari perkataan atau corak tertentu dalam fail.

Sintaks umum ialah: grep "pattern" filename

Mari kita cari semua baris yang mengandungi perkataan "ralat" dalam fail log. Bayangkan my_log.txt mengandungi pelbagai mesej sistem.

echo "System started.
Error: Disk full.
Warning: Low memory.
Error: Network down." > my_log.txt
grep "Error" my_log.txt

Mencari dalam Berbilang Fail

grep tidak terhad kepada satu fail sahaja. Anda boleh mencari dalam berbilang fail atau malah semua fail dalam satu direktori.

Untuk mencari dalam berbilang fail, senaraikan fail tersebut selepas corak. Untuk mencari dalam semua fail di direktori semasa, gunakan aksara kad bebas seperti *.

Mari kita cari "gagal" dalam semua fail .log.

echo "Login success" > auth.log
echo "Login failed" > secure.log
echo "System OK" > kernel.log
grep "failed" *.log

Carian Tidak Peka Huruf Besar Kecil (`-i`)

Secara lalai, grep peka huruf besar kecil. Ini bermakna "Ralat" berbeza daripada "ralat" atau "RALAT".

Untuk melakukan carian yang tidak peka huruf besar kecil, gunakan pilihan -i (untuk mengabaikan huruf besar kecil).

Cuba cari semua kemunculan "epal", tanpa mengira cara perkataan itu menggunakan huruf besar atau kecil.

echo "Apple is good.
I like apples.
APPLES are red." > fruit.txt
grep -i "apple" fruit.txt

Mencari Perkara yang TIDAK Sepadan (`-v`)

Kadang-kadang Anda mahu melihat semua baris yang *tidak* mengandungi corak tertentu. Ini dipanggil padanan songsang.

Pilihan -v (untuk membalikkan padanan) melakukan perkara ini. Ia memaparkan semua baris yang *tidak* sepadan dengan corak yang diberikan.

Mari kita tapis keluar baris yang mengandungi "komen" daripada skrip.

echo "# This is a comment
print("Hello")
# Another comment
x = 10" > script.py
grep -v "#" script.py

Mengira Kemunculan (`-c`)

Daripada memaparkan baris yang sepadan, Anda mungkin hanya mahu mengetahui bilangan baris yang sepadan dengan corak Anda.

Pilihan -c (untuk kiraan) memberitahu grep supaya mencetak hanya bilangan baris yang sepadan dengan corak.

Berapakah bilangan baris yang mengandungi "amaran" dalam log sistem kita?

echo "Info: System started.
Warning: Low disk space.
Info: User logged in.
Warning: High CPU usage." > system.log
grep -c "Warning" system.log

Mencari Padanan dengan Nombor Baris (`-n`)

Apabila Anda menyahpepijat atau menganalisis fail yang besar, mengetahui nombor baris tepat tempat padanan berlaku boleh sangat membantu.

Pilihan -n (untuk nombor baris) memaparkan nombor baris sebelum setiap baris yang sepadan.

Mari kita cari nombor baris bagi "fungsi" dalam fail program.

echo "def setup():
  print("Setting up")
def run_function():
  pass
# Main part" > program.py
grep -n "function" program.py

`grep` dengan Input Piawai

Salah satu ciri grep yang paling berkuasa ialah keupayaannya untuk berfungsi dengan paip (|).

Anda boleh menyalurkan output daripada satu perintah sebagai input kepada grep, lalu membolehkan Anda menapis output perintah dalam masa nyata.

Mari kita senaraikan semua fail dan kemudian tapis supaya hanya fail yang berakhir dengan .txt dipaparkan.

touch report.txt document.pdf image.jpg notes.txt
ls -l | grep ".txt"

Semakan Pantas `grep`

Anda telah mempelajari beberapa pilihan grep yang berguna. Mari uji pemahaman Anda!

Pertimbangkan sebuah fail bernama server.log yang mengandungi mesej seperti "ERROR", "Error", "maklumat" dan sebagainya.

Ulang Kaji: Menapis dengan `grep`

Syabas! Anda telah menguasai asas grep untuk menapis teks.

Berikut ialah ringkasan ringkas perkara yang telah kita pelajari:

  • grep "pattern" filename: Carian asas untuk corak dalam fail.
  • grep "pattern" *.log: Mencari dalam berbilang fail menggunakan aksara kad bebas.
  • -i: Mengabaikan huruf besar kecil semasa carian.
  • -v: Membalikkan padanan, lalu memaparkan baris yang *tidak* mengandungi corak.
  • -c: Mengira bilangan baris yang sepadan.
  • -n: Memaparkan nombor baris bagi baris yang sepadan.
  • Menyalurkan dengan |: Menapis output daripada perintah lain.

Pilihan-pilihan ini menjadikan grep alat yang sangat serba boleh untuk mengekstrak dan menganalisis maklumat pada baris perintah. Teruskan berlatih!

Percuma untuk bermula

Pelajari Penguasaan Baris Perintah Linux dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Menapis Teks dengan `grep`” percuma?

Ya — teks penuh “Menapis Teks dengan `grep`” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Penguasaan Baris Perintah Linux, tingkat taraf kepada CoddyKit PRO. Kursus Penguasaan Baris Perintah Linux merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Menapis Teks dengan `grep`”?

Kuasai `grep` untuk pemadanan corak dan penapisan teks yang berkuasa dalam fail atau output perintah. Anda berlatih Penguasaan Baris Perintah Linux menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Penguasaan Baris Perintah Linux?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Penguasaan Baris Perintah Linux di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Menapis Teks dengan `grep`” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Penguasaan Baris Perintah Linux ini?

Ya. Setiap pelajaran Penguasaan Baris Perintah Linux menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Strim Piawai dan Pengalihan
  2. Menapis Teks dengan `grep`
  3. Manipulasi Teks dengan `sed` dan `awk`
  4. Menggabung dan Menyusun Output dengan sort, uniq dan cut
← Kembali ke Penguasaan Baris Perintah Linux