Perintah Grep: alat yang ampuh untuk menemukan teks dari Terminal

Perintah grep

Hampir semua orang yang memiliki komputer atau bekerja dengan komputer akan mengetahui pintasan keyboard Ctrl + F untuk mencari teks. "F" adalah singkatan dari "Find", "to find" dalam bahasa Inggris, dan dapat digunakan, misalnya, untuk mencari teks pada halaman web. Pintasan ini juga tersedia di banyak aplikasi, ada program yang menggunakan "B" untuk "Pencarian, tetapi pintasan ini hanya berfungsi jika kita berada di dalam aplikasi dan dengan file terbuka. Di Linux kami memiliki alat yang sangat kuat yang dapat kami luncurkan dari Terminal dan jika kami mau temukan teks apa saja yang ada di tim kami, kami akan menggunakan perintah grep.

grep Ini adalah perintah yang akan membantu kita menemukan teks di dalam file yang kita tunjukkan. Namanya berasal dari g / re / p, perintah yang berfungsi untuk sesuatu yang mirip di editor teks Unix / Linux. Seperti banyak perintah lainnya, grep Memiliki banyak tersedia pilihan yang akan kita tambahkan dalam bentuk huruf dan masing-masing akan menjalankan tugas yang berbeda. Dengan menggabungkan opsi-opsi ini kami akan dapat melakukan pencarian kompleks dalam satu atau lebih file. Di sini kami menunjukkan semua yang perlu Anda ketahui.

dengan grep kami akan menemukan teks apa pun di file apa pun

Pertama-tama kami akan menjelaskan opsi yang tersedia:

  • -i: tidak akan membedakan antara huruf besar dan kecil.
  • -w: paksakan untuk hanya menemukan kata-kata tertentu.
  • -v: memilih garis yang tidak cocok.
  • -n: menunjukkan jumlah baris dengan kata-kata yang diminta.
  • -h: menghapus awalan dari nama file Unix di output.
  • -r: mencari direktori secara rekursif.
  • -R: like -r tapi ikuti semua symlink.
  • -l: hanya menampilkan nama file dengan baris yang dipilih.
  • -c- Menampilkan hanya satu hitungan per file dari baris yang dipilih.
  • -Warna: Menampilkan pola pencocokan dalam warna.

Pada gambar yang Anda tuju artikel ini saya telah mencari kata "Gambar" di file "830.desktop" yang ada di jalur itu. Seperti yang Anda lihat, saya telah menulis:

grep Imágenes /home/pablinux/Documentos/830.desktop

Perlu diingat bahwa pada artikel ini kami akan menuliskan contoh yang harus dimodifikasi sesuai dengan preferensi pencarian kami. Saat kita mengatakan "File", "Word", dll, kita akan merujuk ke file tersebut dengan jalurnya. Jika saya baru saja menulis "grep Images 830.desktop", saya akan menerima pesan yang mengatakan bahwa file tersebut tidak ada. Atau begitulah yang terjadi kecuali file itu ada di direktori root.

Contoh lainnya adalah:

  • grep -i images /home/pablinux/Documentos/830.desktop, di mana "gambar" akan menjadi kata yang ingin kita temukan dan selebihnya file dengan jalurnya. Contoh ini akan mencari "gambar" dalam file "830.desktop" tidak peka huruf besar / kecil.
  • grep -R gambar: itu akan mencari semua baris direktori dan semua subdirektorinya di mana kata "gambar" ditemukan.
  • grep -c contoh test.txt: ini akan mencari kami dan menunjukkan total berapa kali "contoh" muncul dalam file bernama "test.txt.

Dengan grep kami juga dapat mencari file

Jika yang kita inginkan adalah mencari file 830.desktop, kita akan menulis perintah berikut:

grep 830.desktop

Ini akan melakukan cari file «830.desktop» di folder pribadi kitaDengan kata lain, jika file tersebut berada di folder pribadi pengguna lain, file tersebut tidak akan ditemukan. Ini adalah hal paling normal di dunia karena pengguna tidak memiliki izin untuk mengakses konten orang lain tanpa kata sandinya.

Bagaimana melakukan pencarian rekursif

grep itu juga memungkinkan kita melakukan pencarian dengan tunduk pada aturan atau pedoman berulang. Misalnya, baca semua file di setiap direktori yang berisi kata "Pablinux". Untuk ini kami akan menulis:

grep -r Pablinux /home/

O baik:

grep -R Pablinux /home/

Kita akan melihat hasil untuk "Pablinux" pada baris terpisah diawali dengan nama file di mana ia ditemukan. Jika kita tidak ingin melihat nama file di output data, kita akan menggunakan opsi -h (dari "sembunyikan"; sembunyikan):

grep -h -R Pablinux /home/

Kita dapat menggabungkan opsi bersama dan menulis "-hR" tanpa tanda kutip.

Bagaimana melakukan pencarian kata yang tepat

Terkadang ada file yang berisi apa yang ingin kita cari sesuatu yang lain. Misalnya, hal ini dapat terjadi pada kita dalam kata majemuk dan dengan menelusuri "hutan", kita dapat menemukan "penjaga". Jika kita mau temukan kata yang tepat kami akan menggunakan opsi -w:

grep -w bosques /home/pablinux/Documentos/vacaciones.txt

Perintah di atas akan mencari "hutan", mengabaikan penjaga, di file "vacation.txt" di jalur yang ditunjukkan. Jika yang kita inginkan adalah mencari dua kata berbeda, kita akan menggunakan perintah Egrep:

egrep -w bosques|plantas /ruta/del/archivo

Ketahui berapa kali sebuah kata muncul dalam sebuah file

grep itu juga mampu hitung berapa kali sebuah kata muncul dalam sebuah file. Untuk ini kami akan menggunakan opsi -c:

grep -c prueba /ruta/al/archivo

Menambahkan opsi -n apa yang akan kita lihat adalah jumlah baris di mana kata tersebut muncul.

Reverse lookup

Kita juga bisa melakukan yang sebaliknya, yaitu, cari baris yang tidak mengandung kata. Untuk ini kita akan menggunakan opsi -v, yang akan menjadi sebagai berikut:

grep -v la ruta/al/archivo

Perintah di atas akan menampilkan semua baris yang tidak mengandung kata "the". Ini bisa berguna dalam dokumen atau daftar di mana sebuah kata diulang berkali-kali dan, untuk beberapa alasan, kita perlu mengakses sisa barisnya.

Mengakses informasi sistem dengan grep

Model PC

grep itu tidak hanya mampu mencari di dalam file. Itu juga dapat melihat informasi sistem. Pada tangkapan layar sebelumnya kita dapat melihat bagaimana itu menunjukkan kepada kita model PC yang kita miliki (saya tahu itu bukan laptop paling kuat di dunia). Untuk ini kami telah menggunakan perintah:

cat /proc/cpuinfo | grep -i 'Model'

O baik:

grep -i 'Model' /proc/cpuinfo

Jika yang kita inginkan adalah melihat nama-nama unit disk yang akan kita tulis:

dmesg | egrep '(s|h)d[a-z]'

Cara Membuat Daftar Nama File yang Cocok Saja

Jika kita ingin melihat daftar dengan hanya nama file yang cocok dengan pencarian kita akan menggunakan opsi -l seperti yang ditunjukkan di bawah ini:

grep -l 'main' *.c

Dan jika kita ingin melihat kata dalam warna, kita akan menulis:

grep --color palabra /ruta/al/archivo

Seperti yang Anda lihat, perintahnya grep adalah alat yang sangat kuat Ini sangat berharga terutama dalam kasus di mana kita tidak ingat di mana kita telah menulis sesuatu atau dalam pemrograman. Selain itu, ini membantu kami untuk mengetahui informasi tentang sistem dengan cara yang disukai pecinta Terminal. Apakah panduan ini tentang perintah untuk menemukan teks berguna bagi Anda grep?


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   nordi dijo

    Hello!
    Ketika Anda mengatakan bahwa Grep juga digunakan untuk mencari file, saya rasa itu tidak benar karena jika Anda menjalankan grep EXPRESSION dan tidak meneruskan file ke sana, itu akan menunggu input data dari input standar.
    Menurut halaman manual:
    grep mencari FILE input bernama untuk baris yang berisi kecocokan dengan POLA yang diberikan. Jika tidak ada file yang ditentukan, atau jika file "-" diberikan, grep mencari input standar.
    Jadi Anda dapat menggunakannya di pipeline, seperti yang Anda parse output / proc / cpuinfo dengan meneruskan output dari perintah ini sebagai input ke grep, Anda dapat melakukan pencarian.
    Sebuah ucapan

  2.   ana dijo

    Posting yang sangat bagus.
    Anda menjelaskannya dengan sangat baik dan langsung ke intinya.