grep

Satu lagi perintah di linux yang saya suka, namanya grep, singkatan dari Global Regular Expression Print (atau Parser). Perintah ini sangat berguna untuk menampilkan kata tertentu dalam sebuah file, atau menyaring tampilan dari perintah lain. Berikut ini contoh penggunaan grep serta kombinasi perintah lain yang sering saya gunakan.

Mencari satu kata, frasa, atau kalimat

Format:

grep word path/to/file
grep 'word' path/to/file
grep "word" path/to/file
grep "sentences or phrase" path/to/file

Contoh:

grep laptop myfile.txt

Menandai semua kata laptop dalam file myfile.txt. Penulisan laptop dan 'laptop' (dengan tanda petik) sama saja. Penggunaan tanda '...' dan "..." juga sama saja.

grep 'menulis' myfile.txt

Menandai semua kata menulis dalam file myfile.txt.

grep "bakat menulis" myfolder/myfile.txt

Menandai semua frasa bakat menulis dalam file myfile.txt.

grep "Benarkah bakat adalah mantra sakti di balik kemampuan kemahiran seseorang menulis?" myfolder/myfile.txt

Menandai kalimat Benarkah bakat adalah mantra sakti di balik kemampuan kemahiran seseorang menulis? dalam file myfile.txt.

Mencari lebih dari satu kata, frasa, atau kalimat

Format:

grep 'word1\|word2\|word3' path/to/file
grep 'phrase1\|phrase2\|phrase3' path/to/file
grep 'sentence1\|sentence2\|sentence3' path/to/file

Setiap kata, frasa, atau kalimat dipisahkan dengan tanda \|, misalnya 'laptop\|menulis\|mudah'.

Contoh:

grep 'laptop\|menulis\|mudah' myfolder/myfile.txt

Menandai semua kata laptop, menulis, dan mudah dalam file myfile.txt.

grep 'bakat menulis\|gelar sarjana\|mantra sakti' myfolder/myfile.txt

Menandai semua frasa bakat menulis, gelar sarjana, dan mantra sakti dalam file myfile.txt.

Ignore case

Ada baiknya grep diberi opsi -i agar hasil pencarian lebih luas, tak membedakan huruf besar kapital atau kecil. Jadi kata laptop, LAPTOP, Laptop, LAPtop, dan semua variasinya dianggap sama.

-i, --ignore-case
Ignore case distinctions in both the pattern and the input files.

Contoh:

grep -i laptop myfile.txt
grep -i 'menulis' myfile.txt
grep -i "bakat menulis" myfolder/myfile.txt

Opsi -i bisa ditinggalkan jika ingin mencari kata atau frasa yang unik (case sensitive).

Whole words only

Untuk mencari kata dasar saja (tanpa imbuhan atau variasi lain), gunakan opsi -w.

-w, --word-regexp
Select only those lines containing matches that form whole words. The test is that the matching substring must either be at the beginning of the line, or preceded by a non-word constituent character. Similarly, it must be either at the end of the line or followed by a non-word constituent character. Word-constituent characters are letters, digits, and the underscore.

Contoh:

grep -w 'usaha' myfolder/myfile.txt

Semua kata usaha akan ditandai, sementara kata lain seperti berusaha, perusahaan, pengusaha, wirausaha dsb (meski mengandung kata usaha) tidak ikut ditandai.

Untuk melihat opsi lainnya serta cara penggunaannya, ketik grep --help atau man grep.

cat dan grep

cat menampilkan isi file. Bisa digabung dengan grep untuk menampilkan kata tertentu.

Contoh:

cat main.css | grep color

Menandai semua kata color dalam file main.css.

cat index.html | grep -i "My Company"

Menandai semua kata My Company dalam file index.html.

cat myfile.txt | grep -i laptop

Menampilkan isi file myfile.txt dan menandai semua kata laptop.

cat myfile.txt | grep -i "menulis itu gampang"

Menampilkan isi file myfile.txt dan menandai semua frasa menulis itu gampang.

ls dan grep

Perintah ls menampilkan semua file dan folder, mirip dir kalau di DOS/Windows. Kalau jumlahnya banyak, bisa disaring dengan grep -i supaya yang muncul di layar cuma file atau folder yang mengandung kata tertentu.

Contoh:

ls | grep -i catatan
ls *.txt | grep -i catatan

Menampilkan semua file atau folder yang namanya mengandung kata catatan.

locate, find, dan grep

Mencari file dengan pola nama tertentu.

Contoh:

locate -b catatan | grep -i naskah

Mencari semua file yang namanya mengandung kata catatan yang berada dalam folder yang namanya mengandung kata naskah.

find myfolder/. -iname "*catatan*" | grep -i naskah

Sama saja, cuma ini pakai perintah find.

man dan grep

man digunakan untuk melihat manual page atau penjelasan tentang suatu perintah, misalnya man ls, man cat, man find, man grep, dsb. Tampilan hasil man terkadang sangat panjang, susah untuk dibaca. Agar lebih mudah, bisa digabung dengan grep.

Contoh:

man find | grep -i pattern

Menampilkan info tentang perintah find dan menandai semua kata pattern.

man cat | grep -i document

Menampilkan info tentang perintah cat dan menandai semua kata document.

Linux itu mudah

Semua perintah ini, juga semua tulisan soal linux di blog ini akan lebih mudah dipahami jika punya kasus nyata. Kalau cuma diingat memang susah. Semakin sering dipakai, semakin hafal. Apalagi kalau ternyata berhasil dan bermanfaat, persepsi bahwa linux itu susah perlahan akan hilang.

Selamat mencoba, semoga bermanfaat.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s