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.

grep

grep searches the named input FILEs for lines containing a match to the given pattern. If no files are specified, or if the file "-" is given, grep searches standard input. By default, grep prints the matching lines.
— from man grep

Mencari satu kata atau frasa

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 menulis.txt
grep 'menulis' menulis.txt
grep "menulis itu gampang" Desktop/menulis.txt

grep laptop menampilkan semua kata laptop dalam file. Penulisan laptop dan 'laptop' (dengan tanda petik) sama saja. Penggunaan tanda '...' dan "..." juga sama saja.

grep "menulis itu gampang" mencari frasa menulis itu gampang dalam file.

Ignore case

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

Ada baiknya grep diberi opsi -i menjadi grep -i agar hasil pencarian lebih luas. -i artinya ignore case (aka insensitive), tak membedakan huruf besar/kecil. Jadi kata laptop, LAPTOP, Laptop, LAPtop, dan semua variasinya dianggap sama.

grep -i laptop menulis.txt
grep -i 'menulis' menulis.txt
grep -i "menulis itu gampang" Desktop/menulis.txt

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

Mencari lebih dari satu kata atau frasa

Format:

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

Contoh:

grep -i 'laptop\|menulis\|mudah' Desktop/catatan/catatan.txt
grep -i 'bakat menulis\|gelar sarjana\|how to keep learning' Desktop/menulis.txt

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

Untuk melihat semua opsi yang tersedia serta cara penggunaannya, ketik man grep.

Mencari kata
Mencari kata
Mencari frasa
Mencari frasa

cat dan grep

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

Contoh:

cat main.css | grep color
cat index.html | grep -i "My Company"
cat menulis.txt | grep -i laptop
cat menulis.txt | grep -i "menulis itu gampang"

cat main.css | grep color menampilkan isi file main.css dan menandai semua kata color.

cat index.html | grep -i "My Company" idem. Menampilkan isi file index.html dan menandai semua kata My Company.

cat menulis.txt | grep -i laptop menampilkan isi file menulis.txt dan menandai semua kata laptop.

cat menulis.txt | grep -i "menulis itu gampang" menampilkan isi file menulis.txt dan menandai semua frasa menulis itu gampang.

ls dan grep

ls itu menampilkan daftar file dalam sebuah direktori, mirip dir kalau di DOS/Windows. ls menampilkan semua file dan folder. 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

ls | grep -i catatan menampilkan semua file dan pilih file atau folder yang namanya mengandung kata catatan.

ls *.txt | grep -i catatan hampir sama. ls *.txt menampilkan semua file teks dan pilih yang namanya mengandung kata catatan.

locate, find, dan grep

Mencari file dengan pola nama tertentu.

Contoh:

locate -b catatan | grep -i naskah
find Desktop/. -iname "*catatan*" | grep -i naskah

locate -b catatan | grep -i naskah artinya mencari semua file yang namanya mengandung kata catatan yang berada dalam folder yang namanya mengandung kata naskah.

find Desktop/. -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.

man find | grep -i pattern
man cat | grep -i document

man find | grep -i pattern menampilkan info tentang perintah find dan menandai semua kata pattern.

man cat | grep -i document sama saja, 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 sirna.

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s