Perintah grep di Linux/Unix dengan Contoh

Perintah ‘grep’ adalah singkatan dari “global regular expression print”. Perintah grep menyaring konten file yang membuat pencarian kita lebih mudah.

Ini adalah utilitas baris perintah untuk mencari grup data teks biasa untuk baris yang sesuai dengan ekspresi reguler. Nama “grep” berasal dari perintah, yaitu, ed, yang memiliki efek yang sama. Awalnya, grep dirancang untuk sistem operasi Unix, tetapi kemudian tersedia untuk setiap sistem mirip Unix dan beberapa lainnya seperti OS 9.

Filter grep menemukan file untuk pola karakter tertentu dan menunjukkan setiap baris yang menyertakan pola tersebut. Karakter harus berada dalam tanda kutip jika mereka muncul dalam parameter pola dengan arti khusus untuk shell. Biasanya, kita harus menyertakan seluruh pola dalam satu tanda kutip jika parameter pola bukan string umum.

Dalam ekspresi seperti [a-z], tanda minus (-) menjelaskan rentang berdasarkan urutan kolasi saat ini. Urutan kolasi dapat menentukan kelas ekuivalen dalam rentang karakter untuk digunakan. Perintah grep mengasumsikan stdin ketika tidak ada file yang disebutkan.

Polanya disebut ekspresi reguler yang ditemukan di dalam file. Polanya adalah ekspresi reguler terbatas dalam format perintah egrep atau ed. Perintah grep menerapkan algoritma non-deterministik yang solid. Ini berguna saat kita perlu menyaring file log besar.

Sejarah Singkat grep

Sebelum diberi nama, grep adalah utilitas rahasia yang ditentukan oleh Ken Thompson untuk menemukan file untuk beberapa pola. Tidak mengetahui keberadaannya, Doug Mcllroy meminta Thompson untuk menentukan fungsi semacam itu. Menjawab bahwa dia akan memikirkannya semalam. Thompson membuat perbaikan dan memperbaiki kesalahan selama sekitar satu jam pada programnya yang dikenal sebagai “s” (atau search). Dia mempresentasikan fungsi tersebut ke Mcllroy keesokan harinya, yang mengatakan itu persis seperti yang diinginkannya. Kisah Thompson mungkin menjelaskan keyakinan bahwa perintah grep ditentukan semalam.

Thompson menetapkan versi awal dalam bahasa rakitan PDP-11 untuk mendukung Lee E. McMohan memeriksa teks Federalist Papers untuk menentukan penulis masing-masing makalah. Editor teks ed memiliki dukungan untuk ekspresi reguler tetapi tidak dapat digunakan pada teks besar seperti itu; Thompson menyalin kode itu ke alat mandiri. Dia memilih nama tersebut karena dalam ed, perintah grep akan mencetak setiap baris yang sesuai dengan pola yang dijelaskan. Pertama, grep ditambahkan dalam Unix Versi 4, dengan mengatakan bahwa “itu umumnya disebut sebagai alat perangkat lunak prototipikal”, Mcllroy menyetujui grep dengan “menanamkan secara tak terhapuskan” filosofi alat Thompson di Unix.

Implementasi grep

Berbagai implementasi grep hadir di beberapa lingkungan pengembangan perangkat lunak dan sistem operasi. Versi awal termasuk fgrep dan egrep, yang diperkenalkan dalam versi 7 Unix. Versi egrep mendukung sintaks untuk ekspresi reguler yang diperluas yang disertakan oleh Alfred Aho setelah implementasi ekspresi reguler asli dari Ken Thompson. Versi fgrep menemukan daftar string tetap dengan algoritma pencocokan string Aho-Corasick. Biner versi ini tersedia di sistem modern, terhubung ke grep atau memanggil grep sebagai skrip shell menggunakan flag yang benar ditambahkan saat umumnya digunakan pada sistem POSIX.

Perintah lain menyertakan kata “grep” untuk menunjukkan bahwa mereka adalah alat pencari, biasanya yang bergantung pada kecocokan ekspresi reguler. Misalnya, utilitas “pgrep” menampilkan proses yang judulnya sama dengan ekspresi reguler yang diberikan.

Grep adalah nama fungsi bawaan yang mencari elemen dalam daftar yang memenuhi sifat tertentu dalam bahasa pemrograman Perl. Biasanya, fungsi tingkat tinggi ini disebut “filter” atau “where” dalam bahasa lain. Perintah “pcregrep” adalah implementasi grep yang menggunakan sintaks untuk ekspresi reguler Perl. Fungsionalitas yang sama dapat ditambahkan ke versi GNU grep menggunakan flag -P. Juga, port grep (misalnya, di GnuWin32 dan Cygwin) dijalankan pada Microsoft Windows. Beberapa versi Windows menyediakan perintah findstr atau qgrep yang setara. Selain itu, perintah grep adalah bagian dari MSX-DOS2 Tools dari ASCII untuk versi 2 dari MSX-DOS. Perintah fgrep, egrep, dan grep telah dikirimkan ke OS IBM i. Perangkat lunak Adobe InDesign memiliki fungsi GREP (sejak edisi CS3) dalam dialog kotak tab “GREP” find/change dan ditentukan menggunakan CS4 dalam “GREP styles” gaya paragraf.

Cara menginstal grep di Linux

Grep sudah terinstal sebelumnya di hampir setiap distribusi Linux. Namun, jika hilang dari sistem kita, kita dapat menginstalnya dengan perintah berikut di jendela terminal:

arduinoSalin kode$ sudo apt-get install grep

grep dengan pipe

Perintah ‘grep’ biasanya digunakan dengan pipe (|).

Sintaks:

bashSalin kodecommand | grep <kataCari>

Contoh:

bashSalin kodecat marks.txt | grep 9

Lihat snapshot di atas, perintah grep menyaring semua data yang mengandung ‘9’.

grep tanpa pipe

Dapat digunakan tanpa pipe juga.

Sintaks:

phpSalin kodegrep <kataCari> <namaFile>

Contoh:

cssSalin kodegrep 9 marks.txt

Lihat snapshot di atas, perintah grep melakukan pekerjaan yang sama seperti contoh sebelumnya tetapi tanpa pipe.

Opsi grep

  • grep -v: Perintah ‘grep -v’ menampilkan baris yang tidak cocok dengan kata yang ditentukan.
    • Sintaks:phpSalin kodegrep -v <kataCari> <namaFile>
    • Contoh:cssSalin kodegrep -v 9 marks.txt
    • Lihat snapshot di atas, perintah “grep -v 9 marks.txt” menampilkan baris yang tidak mengandung kata cari ‘9’.
  • grep -i: Perintah ‘grep -i’ menyaring output secara tidak sensitif terhadap huruf besar/kecil.
    • Sintaks:phpSalin kodegrep -i <kataCari> <namaFile>
    • Contoh:cssSalin kodegrep -i red exm.txt
    • Lihat snapshot di atas, perintah “grep -i red exm.txt” menampilkan semua baris yang mengandung ‘red’ baik dalam huruf besar maupun kecil.
  • grep -A, grep -B, grep -C:
    • grep -A digunakan untuk menampilkan baris setelah hasil.
    • grep -B digunakan untuk menampilkan baris sebelum hasil.
    • grep -C digunakan untuk menampilkan baris sebelum dan sesudah hasil.
    • Kita bisa menggunakan (A1, A2, A3…..)(B1, B2, B3….)(C1, C2, C3….) untuk menampilkan beberapa baris.
    • Sintaks:phpSalin kodegrep -A<nomorBaris> <kataCari> <namaFile> grep -B<nomorBaris> <kataCari> <namaFile> grep -C<nomorBaris> <kataCari> <namaFile>
    • Contoh:perlSalin kodegrep -A1 yellow exm.txt grep -B1 yellow exm.txt grep -C1 yellow exm.txt
    • Lihat snapshot di atas, perintah “grep -A1 yellow exm.txt” menampilkan baris yang dicari dengan satu baris berikutnya, perintah “grep -B1 yellow exm.txt” menampilkan baris yang dicari dengan satu baris sebelumnya, dan perintah “grep -C1 yellow exm.txt” menampilkan baris yang dicari dengan satu baris sebelumnya dan berikutnya

ref:[1]

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *