GNU/Linux >> Belajar Linux >  >> Linux

Tutorial Perintah Grep Dengan Contoh Untuk Pemula

Dalam tutorial ini, kita akan belajar tentang "grep" memerintah. Grep adalah singkatan dari G r lo global e biasa ekspresi p mencetak. Sesuai dengan namanya, Grep digunakan untuk mencari file teks dengan ekspresi reguler (singkatnya regex ). Ini mencetak garis yang cocok dengan pola yang diberikan dalam file teks. Jika tidak ada file yang diberikan, grep akan secara rekursif mencari pola yang diberikan dalam file di direktori saat ini. Grep memiliki dua varian yaitu egrep dan fgrep . Varian ini tidak digunakan lagi tetapi disediakan untuk kompatibilitas mundur. Alih-alih menggunakan "grep -E" dan "grep -F", Anda dapat menggunakan masing-masing "egrp" dan "fgrep". Tanpa basa-basi lagi, mari kita mulai.

Contoh Perintah Grep

Saya memiliki file bernama file.txt dengan beberapa kata acak. Mari kita lihat file.txt:

$ cat file.txt
ostechnix
Ostechnix
o$technix
linux
linus
unix
technology
hello world
HELLO world

Untuk memulai pencarian, cukup ketik grep diikuti dengan apa yang Anda cari dan dari mana Anda mencari. Misalnya, saya akan mencari string "nix" di file.txt. Untuk melakukannya, saya menjalankan:

$ grep nix file.txt

Contoh keluaran:

ostechnix
Ostechnix
o$technix
unix

Seperti yang Anda lihat pada output di atas, kami mendapat dua kata yang berisi pola yang cocok "nix". Jika string pencarian memiliki dua kata, sebutkan dalam tanda kutip tunggal seperti di bawah ini.

$ grep 'hello world' file.txt 
hello world

Anda juga dapat menggunakan -n flag untuk menunjukkan nomor baris dalam output:

$ grep -n nix file.txt

Contoh keluaran:

1:ostechnix
2:Ostechnix
3:o$technix
6:unix

Ini bisa berguna saat Anda bekerja dengan kode yang sangat panjang.

Harap perhatikan bahwa grep peka huruf besar/kecil . Misalnya, saat Anda menelusuri "os" , itu tidak akan menampilkan baris yang berisi huruf besar yaitu Os.

Periksa contoh berikut.

$ grep os file.txt 
ostechnix

Tapi, saya punya kata lain bernama "Ostechnix" di file.txt, tapi grep tidak mencantumkannya.

Namun, jika Anda ingin mengabaikan peka huruf besar/kecil, Anda dapat menggunakan "-i" tandai seperti di bawah ini.

$ grep -i os file.txt 
ostechnix
Ostechn1x
$ grep -i 'hello world' file.txt 
hello world
HELLO world

Sekarang, grep tidak peduli dengan huruf besarnya dan kami mendapatkan kata-kata yang berisi huruf besar dan huruf kecil di hasilnya.

Kami juga dapat menyalurkan output dari perintah ke grep. Lihat contoh berikut.

$ cat file.txt | grep os
ostechnix

Sekarang lihat apa yang kita punya. Output dari file.txt disalurkan ke grep dan kata-kata yang mengandung huruf "os" di file.txt telah ditampilkan.

Kami juga dapat menggunakan beberapa karakter khusus atau ekspresi reguler di grep.

  • ^ - cari di awal baris.
  • $ - cari di akhir baris.
  • . - Cari karakter apa saja.

Mari saya tunjukkan sebuah contoh, sehingga Anda dapat memahami di mana dan bagaimana menggunakan karakter khusus tersebut.

Anda sudah tahu, kita bisa mencari kata-kata yang mengandung string "tech" seperti di bawah ini.

$ grep tech file.txt
ostechnix
Ostechnix
o$technix
technology

Tetapi bagaimana jika Anda hanya ingin mencari baris yang hanya dimulai dengan kata "tech". Anda tidak ingin menampilkan semua kata yang berisi string, tetapi hanya kata-kata yang memiliki string "tech" di awal. Hal ini juga mungkin. Di sinilah karakter khusus berguna.

Untuk mencari kata yang cocok dengan pola "tech" di awal baris dalam file, jalankan:

$ grep ^tech file.txt
technology

Demikian pula, kita dapat menelusuri kata-kata yang diakhiri dengan huruf tertentu, misalnya "x" , seperti di bawah ini.

$ grep x$ file.txt
ostechnix
Ostechnix
o$technix
linux
unix

Selain itu, Anda dapat menemukan kata-kata yang mengandung karakter apa pun menggunakan . (titik).

Misalnya, mari kita telusuri kata apa pun yang memiliki "n" dalam file.

$ grep .n file.txt
ostechnix
Ostechnix
o$technix
linux
linus
unix
technology

Anda sekarang harus memiliki pemahaman dasar tentang penggunaan grep. Mari kita lanjutkan dan pelajari dua varian lainnya, yaitu egrep dan fgrep .

Contoh perintah Egrep

egrep singkatan dari e xtended grep . Ini mirip dengan "grep -E" memerintah. Itu akan melakukan semua hal yang akan dilakukan grep. Namun, Ini menyediakan beberapa fungsi tambahan, seperti menggunakan regex yang rumit, daripada perintah grep biasa yang dilakukan di luar kotak.

Misalnya, kami dapat menelusuri kata apa pun yang dimulai dengan "l" atau "o" .

Ingat kita menggunakan simbol caret (^) untuk mencari kata di awal baris. Oleh karena itu, perintah kami untuk kueri di atas adalah:

$ egrep '^(l|o)' file.txt
ostechnix
o$technix
linux
linus

Lihat? Kami memiliki semua kata yang dimulai dengan "l" atau "o". Harap dicatat bahwa perintah grep normal tidak dapat melakukan ini.

Demikian pula, Kami dapat mencari baris yang dimulai dengan rentang karakter apa pun antara "l" hingga "u". Artinya, kita akan mendapatkan garis yang dimulai dengan l, m, n, o, p, q, r, s, t, dan u. Segala sesuatu yang lain akan dihilangkan dari hasil.

$ egrep '^[l-u]' file.txt
ostechnix
o$technix
linux
linus
unix
technology

Harap perhatikan bahwa saya telah menggunakan kurung siku ([) untuk mencari rentang kata. Karena grep peka huruf besar/kecil, grep tidak akan menemukan baris yang dimulai dengan huruf besar dalam rentang yang diberikan.

Untuk menampilkan semua baris yang dimulai dengan huruf besar dan kecil, kami menggunakan:

$ egrep '^[l-u]|[L-U]' file.txt

Atau,

$ egrep '^([l-u]|[L-U])' file.txt

Contoh keluaran:

ostechnix
Ostechnix
o$technix
linux
linus
unix
technology
HELLO world

Lihat? Sekarang kita sudah mendapatkan kata-kata yang dimulai dengan rentang karakter "l" hingga "u" (baik huruf besar atau kecil).

Contoh perintah Fgrep

fgrep singkatan dari f ast grep . Ini mirip dengan "grep -F" . fgrep tidak dapat mengenali ekspresi reguler atau karakter khusus. fgrep dapat digunakan di mana Anda ingin ekspresi reguler dievaluasi.

Misalnya, kami menggunakan perintah berikut untuk menemukan kata yang diakhiri dengan "x" .

$ grep x$ file.txt
ostechnix
Ostechnix
o$technix
linux
unix

Sekarang jalankan perintah yang sama dengan fgrep.

$ fgrep x$ file.txt

Itu tidak akan menampilkan apa pun, karena tidak dapat mengevaluasi karakter khusus.

Sekarang mari kita lihat contoh lain. Untuk mencari kata yang cocok dengan string "o$" dengan perintah grep, kita lakukan:

$ grep o$ file.txt

Tapi, kami tidak mendapatkan apa-apa, mengapa? Karena, sesuai perintah di atas, kita menggunakan simbol dollar($) untuk mencari kata yang berakhiran "o". Karena tidak ada karakter yang diakhiri dengan "o" di file.txt, kami tidak mendapatkan apa-apa.

Sekarang, jalankan perintah yang sama dengan fgrep.

$ fgrep o$ file.txt 
o$technix

Lihat? Di sinilah kita menggunakan perintah fgrep. Itu hanya mengabaikan simbol dolar (karakter khusus, tentu saja) dan menampilkan kata yang berisi string "o$".

Untuk detail lebih lanjut tentang grep, ketik:

$ grep --help

Ini akan memberikan semua opsi yang memungkinkan. Atau, lihat halaman manual.

$ man grep

Bacaan yang disarankan:

  • Belajar Menggunakan Halaman Manual Secara Efisien
Etimologi grep

Grep ditulis dalam semalam oleh Ken Thompson , orang yang sama yang menulis Unix. Tapi mengapa dan bagaimana itu mendapatkan namanya? Profesor Brian Kernighan menjelaskan etimologi grep dalam video ini.

Dan, itu saja. Grep adalah salah satu perintah penting yang harus Anda pelajari secara menyeluruh.

Sekarang Anda tahu apa itu grep dan bagaimana menggunakannya untuk mencari file teks dengan pola yang cocok di GNU/Linux. Anda juga belajar bagaimana Grep mendapatkan namanya. Semoga bermanfaat.


Linux
  1. Linux memperluas Tutorial Perintah Untuk Pemula (dengan Contoh)

  2. Linux ya Tutorial Perintah untuk Pemula (dengan Contoh)

  3. Tutorial Perintah Numfmt Dengan Contoh Untuk Pemula

  1. Tutorial perintah faktor Linux untuk pemula (dengan contoh)

  2. Tutorial Perintah Mengetik Dengan Contoh Untuk Pemula

  3. Tutorial Perintah Shuf Dengan Contoh Untuk Pemula

  1. Tutorial Perintah Linux df untuk Pemula (8 Contoh)

  2. Tutorial Perintah Linux fgrep untuk Pemula (dengan Contoh)

  3. Tutorial perintah expr Linux untuk pemula (dengan contoh)