Kupas Tuntas Grep Bash/Shell Script Linux

Bagaimana Cara menggunakan Grep pada Bash/Shell Script atau di Terminal Linux

Perintah Grep di linux merupakan tools yang sangat powerfull di Linux, untuk mencari String atau sebuah Pattern. Selain Grep merupakan tools yang dapat berjalan secara independent, Grep juga dapat disandingkan dengan perintah lain, dengan penggunaan Command Pipe |.

Pencariaan Sederhana menggunakan Grep

Grep sangat membantu untuk proses pencariaan sederhana (simple searches) didalam sebuah string/text. 
Secara praktis berikut fungsi grep

grep keyword file

Option Command

-i ignore case/case insensitive
-v menampilkan baris yang tidak mengandung kata pada keyword
-q silent, menyimpan return value pada shell
-r recursive, directory dan subdirectory
-w hanya menampilkan kata yang persis sama dengan keyword
-c count total yang match
-n show line number
-mX menampilkan hanya sejumlah maksimal X baris
-A X menampilkan X baris setelah hasil yang match
-B X menampilkan X baris sebelum hasil yang match
-C X menampilkan X baris sebelum dan X baris setelah hasil yang match

Sandingkan Grep dengan Pipe |

Grep juga dapat disandingkan dengan pipe | command
ps -ef |grep java

Bahkan bisa juga digunakan untuk mencari sebuah baris, dengan kata kunci tertentu, pada file yang masih berjalan. Sangat berguna ketika sedang membaca log, namun hanya ingin melihat baris dengan kata kunci tertentu. Bahkan terminal akan meng-highlights kata kunci yang ditemukan. 
[ec2-user@ip-xxxxxxxx log]$ tail -f awslogs.log |grep "num_of_events': 3"
2022-08-03 14:22:39,266 - cwlogs.push.publisher - INFO - 1985 - Thread-3 - Log group: CMD-LOG, log stream: STG-COMM-DEP-A, queue size: 0, Publish batch: {'skipped_events_count': 0, 'first_event': {'timestamp': 1659511353000, 'start_position': 36296L, 'end_position': 36391L}, 'fallback_events_count': 0, 'last_event': {'timestamp': 1659511354000, 'start_position': 36486L, 'end_position': 36594L}, 'source_id': '1c', 'num_of_events': 3, 'batch_size_in_bytes': 373}



Jika hasil terlalu banyak sandingkan grep dengan less atau more agar dapat menampilkan perlayar.
grep "ExtractParameters" *.c | less
grep "ExtractParameters" *.c | more

Find file in linux containing text

Mencari File yang mengandung keyword pada content
grep -rnw '/path/to/somewhere/' -e 'pattern'

Option Command flags
--exclude
mengecualikan file tertentu
grep --exclude=\*.o -rnw '/path/to/somewhere/' -e "pattern"

--include
grep --include=\*.{sh,log} -rnw '/path/to/somewhere/' -e "pattern"

--exclude-dir
grep --exclude-dir={dir1,dir2,*.dst} -rnw '/path/to/somewhere/' -e "pattern"

Dapatkan bonus wallet untuk setiap transaksi di XM hingga $25 per lot. Buka akun trading Wallstreet, nasdaq, snp500 atau forex

Komentar

Postingan populer dari blog ini

Cara membuat alias Bash permanen di Linux/Unix

Compress dan Extract File Menggunakan Tar di Bash Linux

Cara Menggunakan xargs di bash/shell Linux