Penapisan asas dengan grep

Salah satu arahan yang paling sering saya gunakan di terminal adalah grep, malah lebih daripada cd o ls.

grep Ia mempunyai banyak pilihan dan menawarkan kemungkinan yang berbeza, namun saya menggunakan cara yang paling konvensional mungkin, tetapi mari kita mulakan dengan menjelaskan Apa itu grep?

grep hanyalah penapis, itu adalah perintah yang menunjukkan garis yang sesuai dengan penapis yang telah kita nyatakan.

Sebagai contoh, dalam sistem kami mempunyai fail / usr / share / doc / bash / FAQ dan kandungan fail ini adalah:

Lihat kandungan fail

Sekiranya anda ingin menyenaraikan kandungan di terminal dengan arahan kucing (ya kucing, seperti kucing hehe) mereka boleh melakukannya:

cat /usr/share/doc/bash/FAQ

Sekarang, andaikan kita hanya mahu menyenaraikan baris fail yang membincangkan versi, untuk ini kita menggunakan grep:

cat /usr/share/doc/bash/FAQ | grep version

Meletakkannya di terminal hanya akan menunjukkan kepada anda baris yang mengandungi "versi" dalam fail itu, ia tidak lagi menunjukkan baris yang tidak mengandungi kata itu.

Bagaimana jika saya mahu menunjukkan semuanya kecuali baris versi?

Begitulah, dengan cara yang saya jelaskan kepada anda, semua yang sesuai dengan penapis akan ditunjukkan, sekarang saya akan menunjukkan kepada anda bagaimana membuat semuanya kelihatan kecuali apa yang sepadan dengan penapis:

cat /usr/share/doc/bash/FAQ | grep -v version

Adakah anda perhatikan perbezaannya? ... hanya menambah -v sudah membuat perbezaan 😀

Jadi jika mereka meletakkan grep hanya akan menunjukkan kepada anda apa yang sesuai dengan penapis, tetapi jika anda meletakkannya grep -v ia akan menunjukkan kepada anda semua kecuali penapis.

Baiklah di sini catatannya berakhir, hanya petua lain yang sekarang mungkin mereka boleh meremehkannya tetapi ... mereka tidak tahu betapa bergunanya grep, ia adalah penyelamat yang serius 😀

salam


Kandungan artikel mematuhi prinsip kami etika editorial. Untuk melaporkan ralat, klik di sini.

11 komen, tinggalkan komen anda

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan.

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   DMoZ kata

    Tidak diragukan lagi perintah yang sangat serba boleh, setelah anda belajar menanganinya, ini menjadikan hidup anda lebih mudah =) ...

  2.   Scalibur kata

    Hai! .. .. sungguh perintah yang sangat berguna .. dalam kes saya saya banyak menggunakannya ..

    Contoh mudah ialah, misalnya, dpkg -l | grep 'package' (sekiranya distro berdasarkan debian), ia digunakan untuk mengetahui sama ada kita memasang pakej tersebut.

    Hebat untuk memberikan alat ini kepada seluruh komuniti kami 😉

    1.    KZKG ^ Gaara kata

      Terima kasih banyak 😀
      Memang, grep sama kuatnya dengan imaginasi kita hahahaha, bersama dengan awk (dan memotong) mereka benar-benar mencapai keajaiban * - *

      Saya akan memberikan beberapa lagi petua untuk kerja terminal tidak lama lagi 😉
      Salam dan terima kasih atas komen anda.

      PS: E-mel anda menarik LOL !!

  3.   hexborg kata

    Sangat bagus!! Ya, tentu saja grep adalah salah satu penyelamat kehidupan bagi sesiapa yang suka menggunakan terminal. Hanya beberapa komen: Anda benar-benar tidak perlu menggunakan perintah kucing sama sekali. Anda boleh meletakkan nama fail sebagai parameter grep seperti ini:

    versi grep / usr / share / doc / bash / FAQ

    Juga, walaupun tidak dapat dilakukan, selalu ada pilihan untuk mengarahkan input perintah dengan melakukan sesuatu seperti ini:

    versi grep </ usr / share / doc / bash / FAQ

    Yang terakhir dapat dilakukan dengan perintah apa pun, jadi tidak perlu menggunakan kucing untuk mengirim fail ke input perintah.

    Menggunakan pengalihan dan bukannya kucing menyebabkan shell melancarkan satu proses yang kurang, sehingga memakan lebih sedikit sumber. Ia bukan perbezaan yang ketara, tetapi dianggap sebagai amalan yang baik.

    Sebaliknya, grep menjadi sangat berguna ketika menggunakan ungkapan biasa ... Sekiranya saya ingin membantu dengan membuat catatan mengenai ungkapan biasa, apa yang perlu saya lakukan? Adakah cukup untuk menambah catatan baru dari desktop wordpress?

    1.    KZKG ^ Gaara kata

      Oh menarik, saya selalu terbiasa menggunakannya dengan kucing HAHAHAHA, terima kasih atas petua 😀

      1.    Hugo kata

        Dengan grep, anda juga boleh membuat penapis yang kurang asas, contohnya:

        grep -B3 -A3 -E -i --color=auto -n "(desde|hacia)?linux(\.)?$" ~/miarchivo.txt

        Ini pada dasarnya menunjukkan garis yang mengandungi istilah yang kita cari (yang boleh ada dalam kombinasi huruf besar dan huruf kecil), ditambah tiga baris sebelum dan sesudah tiga, menyoroti hasilnya dengan warna yang berbeda, meletakkan angka garis pada hasilnya, dan Ini memungkinkan pengaktifan ungkapan biasa yang diperpanjang yang dalam hal ini memungkinkan mencari di "myfile.txt" untuk semua baris yang berakhir dengan desdelinux, hacialinux atau linux biasa (dengan atau tanpa noktah).

        Ngomong-ngomong, ungkapan biasa menawarkan banyak kelenturan dan setiap "geek" yang baik dengan semangat untuk perisian percuma harus belajar menggunakannya, hehe.

  4.   Dragnell kata

    Anda juga boleh menggunakan zgrep untuk tablet di .ta.gz. Ia sangat berguna apabila kita ingin menyemak log lama. Sorakan

  5.   jhon kata

    Hai. terima kasih atas jawatan. Kebetulan pada saya bahawa menggunakan grep, perkataan yang saya tulis di baris yang muncul tidak berubah warna. (umumnya seperti ini) [contoh: grep cat file.txt]
    garis dan kucing muncul, tetapi kucing tidak mengubah warna tertentu untuk membezakannya
    (di ccompus uni saya dilihat)
    Adakah anda tahu bagaimana saya boleh mengaktifkan pilihan ini?
    Sekiranya anda dapat menjawab saya. e-mel saya ialah sps-003@hotmail.com

    1.    fdy nb kata

      rakan harus menulis kucing dalam tanda petikan 'cat' atau juga "kucing" diikuti dengan nama fail tempat dia ingin mencari

  6.   enrique kata

    Halo kawan, anda betul, anda mempunyai rasa berguna. Mulai sekarang, grep saya meletakkannya pertama dalam senarai arahan kegemaran saya.
    berkaitan

  7.   scanjura kata

    Dan bagaimana cara menunjukkan pekerja disaring mengikut gaji?

bool(benar)