GNU/Linux >> Belajar Linux >  >> Linux

50 Perintah grep yang Produktif dan Praktis untuk Penggemar Linux

Alat grep di Linux dan sistem mirip Unix lainnya adalah salah satu alat baris perintah paling kuat yang pernah dikembangkan. Itu berasal dari perintah ed g/re/p dan dibuat oleh Ken Thompson yang legendaris. Jika Anda pengguna Linux berpengalaman, Anda akan mengetahui pentingnya ekspresi reguler dalam pemrosesan file. Namun, banyak pengguna pemula tidak memiliki petunjuk tentang mereka. Kami sering melihat pengguna merasa tidak nyaman menggunakan teknik seperti itu. Namun, sebagian besar perintah grep tidak terlalu rumit. Anda dapat dengan mudah menguasai grep dengan memberinya waktu. Jika Anda ingin menjadi ahli Linux, kami menyarankan Anda untuk menggunakan alat ini dalam komputasi sehari-hari.

Perintah grep Penting untuk Pengguna Linux Modern

Salah satu hal terindah tentang perintah grep Linux adalah Anda dapat menggunakannya dengan segala macam hal. Anda dapat mengambil pola secara langsung dalam file atau dari keluaran standar Anda. Ini memungkinkan pengguna untuk menyalurkan output perintah lain ke grep dan menemukan informasi spesifik. Perintah berikut akan menguraikan 50 perintah tersebut.

File Demo untuk Mengilustrasikan Perintah grep Linux

Karena utilitas grep Linux berfungsi pada file, kami telah menguraikan beberapa file yang dapat Anda gunakan untuk berlatih. Sebagian besar distribusi Linux harus berisi beberapa file kamus di direktori /usr/share/dict. Kami telah menggunakan file american-english yang ditemukan di sini untuk beberapa tujuan demonstrasi kami. Kami juga telah membuat file teks sederhana yang berisi berikut ini.

ini adalah contoh file yang berisi kumpulan baris untuk mendemonstrasikan berbagai perintah grep Linux

Kami menamakannya test.txt dan telah digunakan untuk banyak contoh grep. Anda dapat menyalin teks dari sini dan menggunakan nama file yang sama untuk berlatih. Selain itu, kami juga memanfaatkan file /etc/passwd.

Contoh grep dasar

Karena perintah grep memungkinkan pengguna untuk menggali informasi menggunakan banyak kombinasi, pengguna pemula sering bingung dengan penggunaannya. Kami mendemonstrasikan beberapa contoh grep dasar untuk membantu Anda membiasakan diri dengan alat ini. Ini akan membantu Anda mempelajari lebih banyak perintah lanjutan di masa mendatang.

1. Cari Informasi dalam Satu File

Salah satu penggunaan dasar grep di Linux adalah untuk menemukan baris yang berisi informasi spesifik dari file. Cukup masukkan pola diikuti dengan nama file setelah grep, seperti yang ditunjukkan di bawah ini.

- -
$ grep root /etc/passwd$ grep $USER /etc/passwd

Contoh pertama akan menampilkan semua baris yang berisi root di file /etc/passwd. Perintah kedua akan menampilkan semua baris yang berisi nama pengguna Anda.

2. Cari Informasi di Beberapa File

Anda dapat menggunakan grep untuk mencetak baris yang berisi pola tertentu dari lebih dari satu file secara bersamaan. Cukup berikan semua nama file yang dipisahkan oleh spasi setelah pola. Kami telah menyalin test.txt dan membuat file lain yang berisi baris yang sama tetapi bernama test1.txt .

$ cp test.txt test1.txt$ file grep test.txt test1.txt

Sekarang grep akan mencetak semua baris yang berisi file dari kedua file tersebut.

3. Cetak Hanya Bagian yang Cocok

Secara default, grep akan menampilkan seluruh baris yang berisi pola. Anda dapat menekan output ini dan memberi tahu grep untuk hanya menampilkan bagian yang cocok. Jadi, grep hanya akan menampilkan pola yang ditentukan, jika ada.

$ grep -o $USER /etc/passwd$ grep --only-matching $USER /etc/passwd

Perintah ini akan menampilkan nilai $USER berapa kali grep menemukannya. Jika tidak ada kecocokan yang ditemukan, output akan kosong dan grep akan dihentikan.

4. Abaikan Pencocokan Huruf Besar

Secara default, grep akan mencari pola yang diberikan dengan cara yang peka huruf besar/kecil. Terkadang pengguna mungkin tidak yakin dengan kasus polanya. Anda dapat memberi tahu grep untuk mengabaikan kasus pola dalam kasus seperti itu, seperti yang ditunjukkan di bawah ini.

$ grep -i $USER /etc/passwd$ grep --ignore-case $USER /etc/passwd$ grep -y $USER /etc/passwd

Ini mengembalikan baris output tambahan di terminal saya. Itu juga harus sama di mesin Anda. Perintah terakhir sudah usang jadi hindari menggunakannya.

5. Membalikkan Pola grep Pencocokan

Utilitas grep memungkinkan pengguna untuk membalikkan pencocokan. Artinya grep akan mencetak semua baris yang tidak mengandung pola yang diberikan. Lihat perintah di bawah ini untuk tampilan cepat.

$ grep -v file test.txt$ grep --invert-match file test.txt

Perintah di atas setara dan hanya mencetak baris yang tidak berisi file tersebut.

6. Hanya Cocokkan Seluruh Kata

Utilitas grep mencetak baris apa pun yang berisi pola. Jadi juga akan mencetak garis-garis yang memiliki pola di dalam kata atau kalimat arbitrer. Seringkali Anda ingin membuang nilai-nilai ini. Anda dapat melakukannya dengan mudah menggunakan opsi -w, seperti yang ditunjukkan di bawah ini.

$ grep hello /usr/share/dict/american-english$ grep -w hello /usr/share/dict/american-english

Jika Anda menjalankannya satu demi satu, Anda akan melihat perbedaannya. Di sistem saya, perintah pertama mengembalikan 5 baris sedangkan perintah kedua hanya dua.

7. Hitung Jumlah Kecocokan

Seringkali Anda mungkin hanya ingin jumlah kecocokan yang ditemukan menggunakan beberapa pola. -c pilihan sangat berguna dalam situasi seperti itu. Saat digunakan, grep mengembalikan jumlah kecocokan alih-alih mencetak garis. Kami telah menambahkan tanda ini ke perintah di atas untuk membantu Anda memvisualisasikan cara kerjanya.

$ grep -c hello /usr/share/dict/american-english$ grep -c -w hello /usr/share/dict/american-english

Perintah mengembalikan masing-masing 5 dan 2.

8. Tampilkan Nomor Baris

Anda dapat menginstruksikan grep untuk menampilkan nomor baris di mana kecocokan telah ditemukan. Ini menggunakan indeks berbasis 1 di mana baris pertama file adalah baris nomor 1 dan baris kesepuluh adalah baris nomor 10. Lihat perintah di bawah ini untuk memahami cara kerjanya.

$ grep -n -w cat /usr/share/dict/american-english$ grep --line-number -w cat /usr/share/dict/american-english

Kedua perintah di atas mencetak baris yang berisi kata cat dalam kamus bahasa Inggris-Amerika.

9. Menekan Awalan Nama File

Jika Anda menjalankan contoh perintah kedua lagi, Anda akan melihat bahwa grep mengawali output dengan nama file. Seringkali Anda mungkin ingin mengabaikannya atau menghilangkannya sama sekali. Perintah grep Linux berikut akan mengilustrasikan ini untuk Anda.

$ grep -h file test.txt test1.txt$ grep --no-filename file test.txt test1.txt

Kedua perintah di atas setara sehingga Anda dapat memilih mana yang Anda inginkan. Mereka hanya akan mengembalikan baris dengan pola yang cocok, bukan nama file.

10. Tampilkan Hanya Awalan Nama File

Di sisi lain, terkadang Anda mungkin hanya menginginkan nama file yang berisi beberapa pola. Anda dapat menggunakan -l pilihan untuk ini. Bentuk panjang dari opsi ini adalah –files-with-matches .

$ grep -l cat /usr/share/dict/*-english$ grep --files-with-matches cat /usr/share/dict/*-english

Kedua perintah di atas mencetak nama file yang berisi pola cat. Ini menunjukkan kamus american-english dan british-english sebagai keluaran grep di terminal saya.

11. Membaca File Secara Rekursif

Anda dapat memberi tahu grep untuk membaca semua file dalam direktori secara rekursif menggunakan -r atau –opsi rekursif . Ini akan mencetak semua baris yang berisi kecocokan dan mengawalinya dengan nama file tempat mereka ditemukan.

$ grep -r -w cat /usr/share/dict

Perintah ini akan menampilkan semua file yang berisi kata cat di dalamnya di samping nama filenya. Kami menggunakan lokasi /usr/share/dict karena sudah berisi beberapa file kamus. -R opsi dapat digunakan untuk mengizinkan grep melintasi tautan simbolik.

12. Tampilan Cocok dengan Seluruh Pola

Anda juga dapat menginstruksikan grep untuk hanya menampilkan kecocokan yang berisi kecocokan persis di seluruh baris. Misalnya, perintah di bawah ini akan menghasilkan baris yang hanya berisi kata cat.

$ grep -r -x cat /usr/share/dict/$ grep -r --line-regexp cat /usr/share/dict/

Mereka hanya mengembalikan tiga baris yang hanya berisi cat di kamus saya. Ubuntu 19.10 saya memiliki tiga file di direktori /dict yang berisi kata cat dalam satu baris.

Ekspresi Reguler di Linux grep Command

Salah satu fitur grep yang paling menarik adalah kemampuannya untuk bekerja dengan ekspresi reguler yang kompleks. Kami hanya melihat beberapa contoh grep dasar yang mengilustrasikan banyak opsinya. Namun, kemampuan untuk memproses file berdasarkan ekspresi reguler jauh lebih menuntut. Karena ekspresi reguler memerlukan studi teknis menyeluruh, kami akan tetap menggunakan contoh sederhana.

13. Pilih Kecocokan di Awal

Anda dapat menggunakan grep untuk menentukan kecocokan di awal baris saja. Ini disebut penahan pola. Anda harus menggunakan tanda sisipan ‘^’ operator untuk tujuan ini.

$ grep "^cat" /usr/share/dict/american-english

Perintah di atas akan mencetak semua baris dalam kamus bahasa Inggris-Amerika Linux yang dimulai dengan cat. Kami tidak menggunakan tanda kutip untuk menentukan pola kami sampai bagian panduan kami ini. Namun, kami akan menggunakannya sekarang dan menyarankan Anda untuk menggunakannya juga.

14. Pilih Kecocokan di Akhir

Sama halnya dengan perintah di atas, Anda juga dapat menambatkan pola Anda untuk mencocokkan garis yang berisi pola di bagian akhir. Lihat perintah di bawah ini untuk memahami cara kerjanya di grep Linux.

$ grep "fish$" /usr/share/dict/american-english

Perintah ini akan mencetak semua baris yang diakhiri dengan ikan. Perhatikan bagaimana kita menggunakan simbol $ di akhir pola kita dalam kasus ini.

15. Mencocokkan Satu Karakter

Utilitas grep Unix memungkinkan pengguna untuk mencocokkan karakter tunggal apa pun sebagai bagian dari pola. Titik ‘.’ operator digunakan untuk tujuan ini. Lihatlah contoh di bawah ini untuk pemahaman yang lebih baik.

$ grep -x "c.t" /usr/share/dict/american-english

Perintah ini akan mencetak semua baris yang berisi tiga karakter kata yang dimulai dengan c dan diakhiri dengan t. Jika Anda menghilangkan -x pilihan, output akan tumbuh sangat besar karena grep akan menampilkan semua baris yang memiliki kombinasi karakter ini. Anda dapat menggunakan .. double ganda untuk menentukan dua karakter acak dan semacamnya.

16. Cocokkan dari Kumpulan Karakter

Anda juga dapat memilih dari sekumpulan karakter dengan mudah menggunakan tanda kurung. Ini memberitahu grep untuk memilih karakter berdasarkan beberapa kriteria. Anda biasanya akan menggunakan ekspresi reguler untuk menentukan kriteria ini.

$ grep "c[aeiou]t" /usr/share/dict/american-english $ grep -x "m[aeiou]n" /usr/share/dict/american-english

Contoh pertama akan mencetak semua baris dalam kamus bahasa Inggris-Amerika yang berisi pola c diikuti oleh satu vokal, dan karakter t. Contoh berikutnya akan mencetak semua kata persis yang mengandung m diikuti dengan vokal lalu n.

17. Cocokkan dari Berbagai Karakter

Perintah berikut akan menunjukkan bagaimana Anda bisa mencocokkan dari berbagai karakter menggunakan grep. Cobalah perintah Anda sendiri untuk melihat cara kerjanya.

$ grep "^[A-Z]" /usr/share/dict/american-english$ grep "[A-Z]$" /usr/share/dict/american-english

Contoh pertama akan mencetak semua baris yang dimulai dengan huruf kapital apa pun. Perintah kedua hanya menampilkan baris yang diakhiri dengan huruf kapital.

18. Menghilangkan Karakter dalam Pola

Terkadang Anda mungkin ingin mencari pola yang tidak mengandung karakter tertentu. Kami akan menunjukkan cara melakukannya menggunakan grep pada contoh berikutnya.

$ grep -w "[^c]at$" /usr/share/dict/american-english$ grep -w "[^c][aeiou]t" /usr/share/dict/american-english 

Perintah pertama menampilkan semua kata yang diakhiri dengan at kecuali cat. [^c] memberitahu grep untuk menghilangkan karakter c dari pencariannya. Contoh kedua memberitahu grep untuk menampilkan semua kata yang diakhiri dengan vokal diikuti oleh t dan tidak mengandung c.

19. Mengelompokkan Karakter di dalam Pola

[] hanya memungkinkan Anda untuk menentukan satu set karakter. Meskipun Anda dapat menggunakan beberapa set braket untuk menentukan karakter tambahan, itu tidak cocok jika Anda sudah tahu grup karakter apa yang Anda minati. Untungnya, Anda dapat menggunakan () untuk mengelompokkan beberapa karakter dalam pola Anda.

$ grep -E "(copy)" /usr/share/dict/american-english$ egrep "(copy)" /usr/share/dict/american-english

Perintah pertama menampilkan semua baris yang memiliki salinan grup karakter di dalamnya. -E bendera diperlukan. Anda dapat menggunakan perintah kedua egrep jika Anda ingin menghilangkan tanda ini. Ini hanyalah front-end yang diperluas untuk grep.

20. Tentukan Karakter Opsional dalam Pola

Utilitas grep juga memungkinkan pengguna untuk menentukan karakter opsional untuk pola mereka. Anda harus menggunakan “?” simbol untuk ini. Apa pun yang mendahului karakter itu akan menjadi opsional dalam pola Anda.

$ grep -E "(commu)?nist" /usr/share/dict/american-english

Perintah ini akan mencetak kata komunis di samping semua baris dalam kamus yang berisi nist di dalamnya. Lihat bagaimana -E opsi digunakan di sini. Ini memungkinkan grep untuk melakukan pencocokan pola yang lebih kompleks atau diperluas.

21. Tentukan Pengulangan dalam Pola

Anda dapat menentukan berapa kali suatu pola perlu dicocokkan untuk perintah grep tertentu. Perintah berikut menunjukkan cara memilih jumlah karakter dari kelas untuk pola grep.

$ grep -E "[aeiou]{3}" /usr/share/dict/american-english$ grep -E "c[aeiou]{2}t" /usr/share/dict/american-english 

Contoh pertama akan mencetak semua baris yang mengandung tiga vokal sedangkan di sisi lain, contoh terakhir mencetak semua baris yang mengandung c diikuti dengan 2 vokal kemudian t.

22. Tentukan Satu atau Beberapa Pengulangan

Anda juga dapat menggunakan “+” operator yang disertakan dalam kumpulan fitur grep yang diperluas untuk menentukan kecocokan satu kali atau lebih. Lihat perintah berikut untuk melihat cara kerjanya di perintah grep Linux.

$ egrep -c "[aeiou]+" /usr/share/dict/american-english$ egrep -c "[aeiou]{3}" /usr/share/dict/american-english

Perintah pertama mencetak berapa kali grep bertemu dengan satu atau lebih vokal berurutan. Dan perintah kedua menunjukkan berapa banyak baris yang mengandung tiga vokal berurutan. Seharusnya ada perbedaan margin yang besar.

23. Tentukan Batas Bawah untuk Pengulangan

Anda dapat memilih batas atas dan batas bawah untuk jumlah pengulangan pertandingan. Contoh berikut menunjukkan cara memilih batas bawah dalam tindakan.

$ egrep "[aeiou]{3,}" /usr/share/dict/american-english

Kami telah menggunakan egrep bukannya grep -E untuk perintah di atas. Ini memilih semua baris yang berisi 3 atau lebih vokal berurutan.

24. Tentukan Batas Atas untuk Pengulangan

Seperti batas bawah, Anda juga dapat memberi tahu grep berapa kali paling banyak mencocokkan karakter tertentu. Contoh berikut cocok dengan semua baris dalam kamus bahasa Inggris-Amerika yang berisi hingga 3 vokal.

$ egrep "[aeiou]{,3}" /usr/share/dict/american-english

Kami menyarankan pengguna untuk menggunakan egrep untuk fungsionalitas yang diperluas ini karena sekarang ini agak lebih cepat dan lebih konvensional. Perhatikan penempatan koma ‘,’ simbol dalam dua perintah di atas.

25. Tentukan Batas Atas dan Bawah

Utilitas grep juga memungkinkan pengguna untuk memilih batas atas dan batas bawah untuk pengulangan pertandingan secara bersamaan. Perintah berikut memberitahu grep untuk mencocokkan semua kata yang mengandung minimal dua dan paling banyak empat vokal berurutan.

$ egrep "[aeiou]{2,4}" /usr/share/dict/american-english

Dengan cara ini Anda dapat menentukan batas atas dan bawah secara bersamaan.

26. Pilih Semua Karakter

Anda dapat menggunakan karakter pengganti ‘*’ untuk memilih semua nol atau lebih kemunculan kelas karakter dalam pola grep Anda. Lihat contoh berikutnya untuk memahami cara kerjanya.

$ egrep "collect*" test.txt $ egrep "c[aeiou]*t /usr/share/dict/american-english

Contoh pertama mencetak kumpulan kata karena itu adalah satu-satunya kata yang cocok dengan 'kumpulkan' satu kali atau lebih di test.txt mengajukan. Contoh terakhir cocok dengan semua baris yang mengandung c diikuti oleh sejumlah vokal, lalu t dalam kamus bahasa Inggris-Amerika Linux.

27. Ekspresi Reguler Alternatif

Utilitas grep memungkinkan pengguna untuk menentukan pola bergantian. Anda dapat menggunakan “|” karakter untuk menginstruksikan grep untuk memilih salah satu dari dua pola. Karakter ini dikenal sebagai operator infiks dalam terminologi POSIX. Lihatlah contoh di bawah ini untuk memahami efeknya.

$ egrep "[AEIOU]{2}|[aeiou]{2}" /usr/share/dict/american-english

Perintah ini memberi tahu grep untuk mencocokkan semua baris yang mengandung 2 vokal kapital berurutan atau vokal kecil.

28. Pilih Pola untuk Mencocokkan Karakter Alfanumerik

Pola alfanumerik mengandung angka dan huruf. Contoh di bawah ini menunjukkan cara memilih semua baris yang berisi alfanumerik menggunakan perintah grep.

$ egrep "[0-9A-Za-z]{3}" /usr/share/dict/american-english$ egrep "[[:alnum:]]{3}" /usr/share/dict/ bahasa inggris amerika

Kedua perintah di atas melakukan hal yang sama. Kami memberi tahu grep untuk mencocokkan semua baris yang berisi tiga kombinasi karakter berurutan dari 0-9, A-Z, dan a-z. Namun, contoh kedua menyelamatkan kita dari penulisan penentu pola sendiri. Ini disebut ekspresi khusus dan grep menawarkan beberapa di antaranya.

29. Kabur Karakter Khusus

Sampai sekarang kami telah menggunakan banyak karakter khusus seperti “$”, “^”, dan “|” untuk mendefinisikan ekspresi reguler yang diperluas. Tetapi bagaimana jika Anda perlu mencocokkan salah satu karakter di dalam pola Anda. Untungnya, pengembang grep telah memikirkan hal itu dan mengizinkan untuk melarikan diri dari karakter khusus ini menggunakan garis miring terbalik “\" .

$ egrep "\-" /etc/passwd

Perintah di atas cocok dengan semua baris /etc/passwd file dengan tanda hubung “-“ karakter dan mencetaknya. Anda dapat menghindari karakter khusus lainnya menggunakan garis miring terbalik dengan cara ini.

30. Ulangi Pola grep

Anda telah menggunakan “*” wildcard untuk memilih string karakter dalam pola Anda. Perintah berikutnya menunjukkan cara mencetak semua baris yang dimulai dengan tanda kurung dan hanya berisi huruf dan spasi tunggal. Kami akan menggunakan “*” untuk melakukan ini.

$ egrep "([A-Za-z ]*)" test.txt

Sekarang tambahkan beberapa baris yang diapit dalam tanda kurung di dalam file demo Anda test.txt dan jalankan perintah ini. Anda seharusnya sudah memahami perintah ini.

Perintah grep Linux dalam Komputasi Sehari-hari

Salah satu hal terbaik tentang grep adalah penerapannya secara universal. Anda dapat menggunakan perintah ini untuk menyaring informasi penting saat menjalankan perintah terminal Linux yang penting. Meskipun bagian di bawah ini memberikan gambaran sekilas tentang beberapa di antaranya, Anda dapat menerapkan prinsip-prinsip inti di mana saja.

31. Tampilkan semua Sub-direktori

Perintah berikut mengilustrasikan bagaimana kita dapat menggunakan grep untuk mencocokkan semua folder di dalam direktori. Kami menggunakan perintah ls -l untuk menampilkan isi direktori dalam output standar dan memotong baris yang cocok dengan grep.

$ ls -l ~ | grep "drw"

Karena semua direktori di Linux berisi pola drw pada awalnya, kami menggunakan ini sebagai pola kami untuk grep.

32. Tampilkan semua File Mp3

Perintah berikut menunjukkan cara menggunakan grep untuk mencari file mp3 di mesin Linux Anda. Kami akan menggunakan perintah ls lagi di sini.

$ ls /path/ke/musik/dir/ | grep ".mp3"

Pertama, ls akan mencetak konten direktori musik Anda ke output dan kemudian grep akan mencocokkan semua baris yang berisi .mp3 di dalamnya. Anda tidak akan melihat output ls karena kami telah menyalurkan data ini ke grep secara langsung.

33. Cari Teks di File

Anda juga dapat menggunakan grep untuk mencari pola teks tertentu dalam satu file atau kumpulan file. Misalkan Anda ingin mencari semua file program C yang berisi teks main di dalamnya. Jangan khawatir tentang ini, Anda selalu dapat memahaminya.

$ grep -l 'main' /path/to/files/*.c

Secara default, grep harus memberi kode warna pada bagian yang cocok untuk membantu Anda memvisualisasikan temuan Anda dengan mudah. Namun, jika gagal melakukannya di mesin Linux Anda, coba tambahkan –warna opsi untuk perintah Anda.

34. Temukan Host Jaringan

File /etc/hosts berisi informasi seperti IP host dan nama host. Anda dapat menggunakan grep untuk menemukan informasi spesifik dari entri ini menggunakan perintah di bawah ini.

$ grep -E -o "([0-9]{1,3}[\.]){3}[0-9]{1,3}" /etc/hosts

Jangan khawatir jika Anda tidak segera mendapatkan polanya. Jika Anda menguraikannya satu per satu, itu sangat mudah dipahami. Sebenarnya, pola ini mencari semua kecocokan dalam rentang 0.0.0.0 dan 9999.999.999.999. Anda juga dapat mencari menggunakan nama host.

35. Temukan Paket Terpasang

Linux duduk di atas beberapa perpustakaan dan paket. Alat baris perintah dpkg memungkinkan admin untuk mengontrol paket pada distro Linux berbasis Debian seperti Ubuntu. Anda akan melihat di bawah bagaimana kami menggunakan grep untuk menyaring informasi penting tentang sebuah paket menggunakan dpkg.

$ dpkg --list | grep "chrome"

Ini memunculkan beberapa informasi berguna di mesin saya termasuk nomor versi, arsitektur, dan deskripsi Browser Google Chrome. Anda dapat menggunakannya untuk menemukan informasi untuk paket yang diinstal di sistem Anda dengan cara yang sama.

36. Temukan Gambar Linux yang Tersedia

Kami menggunakan utilitas grep sekali lagi dengan perintah dpkg untuk menemukan semua gambar Linux yang tersedia. Output dari perintah ini akan sangat bervariasi di seluruh sistem.

$ dpkg --list | grep linux-image

Perintah ini hanya mencetak hasil dpkg –list dan memasukkannya ke grep. Kemudian cocok dengan semua baris untuk pola yang diberikan.

37. Temukan Informasi Model untuk CPU

Perintah di bawah ini menunjukkan cara menemukan informasi model CPU di sistem berbasis Linux menggunakan perintah grep.

$ cat /proc/cpuinfo | grep -i 'model'$ grep -i "model" /proc/cpuinfo

Pada contoh pertama, kami telah menyalurkan output cat /proc/cpuinfo ke grep dan mencocokkan semua baris yang berisi model kata. Namun, sejak /proc/cpuinfo itu sendiri adalah file, Anda dapat menggunakan grep langsung di atasnya seperti yang ditunjukkan oleh contoh terakhir.

38. Temukan Informasi Log

Linux menyimpan semua jenis log di direktori /var untuk admin sistem kami. Anda dapat dengan mudah mengambil informasi yang berguna dari file log ini. Perintah di bawah ini menunjukkan contoh sederhana seperti itu.

$ grep -i "cron" /var/log/auth.log

Perintah ini akan memeriksa file /var/log/auth.log untuk baris potensial yang berisi informasi tentang pekerjaan CRON Linux. -i flag memungkinkan kita untuk lebih fleksibel. Menjalankan perintah ini menampilkan semua baris dengan kata CRON di file auth.log.

39. Temukan Informasi Proses

Perintah berikutnya akan menunjukkan bagaimana kita dapat menemukan informasi yang berguna untuk proses sistem menggunakan grep. Proses adalah contoh program yang sedang berjalan di mesin Linux.

$ ps auxww | grep 'guake'

Perintah ini akan mencetak semua informasi yang terkait dengan guake kemasan. Coba dengan beberapa paket lain jika guake tidak tersedia di mesin Anda.

40. Pilih Hanya IP yang Valid

Sebelumnya kami telah menggunakan ekspresi reguler yang relatif lebih sederhana untuk mencocokkan alamat IP dari /etc/hosts mengajukan. Namun, perintah itu juga akan cocok dengan banyak IP yang tidak valid karena IP yang valid hanya dapat mengambil nilai dari rentang (1-255) di masing-masing empat kuadrannya.

$ egrep '\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?\.){3}( 25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)' /etc/hosts

Perintah di atas tidak akan mencetak alamat IP yang tidak valid seperti 9999.999.999.999.

41. Cari Di Dalam File Terkompresi

Perintah zgrep front-end dari Linux grep memungkinkan kita mencari pola langsung di file terkompresi. Lihat cuplikan kode berikut untuk pemahaman yang lebih baik.

$ gzip test.txt$ zgrep -i "sampel" test.txt.gz

Pertama, kami mengompresi test.txt file menggunakan gzip lalu gunakan zgrep untuk menelusuri contoh kata.

42. Hitung Jumlah Baris Kosong

Anda dapat dengan mudah menghitung jumlah baris kosong dalam file menggunakan grep, seperti yang ditunjukkan pada contoh berikut.

$ grep -c "^$" test.txt

Sejak test.txt hanya berisi satu baris kosong, perintah ini mengembalikan 1. Baris kosong dicocokkan menggunakan ekspresi reguler “^$” dan hitungannya dicetak dengan memanfaatkan -c pilihan.

43. Temukan Banyak Pola

Sampai sekarang, kami telah fokus untuk menemukan satu pola. Utilitas grep juga memungkinkan pengguna untuk mencari garis dengan beberapa pola secara bersamaan. Lihat contoh perintah di bawah ini untuk melihat cara kerjanya.

$ grep -e 'sampel' -e 'file' test.txt$ grep -e 'contoh' test.txt | grep -e 'file'$ grep -e 'sampel\| file' test.txt

Semua perintah di atas akan mencetak baris yang berisi 'sampel' dan 'file'.

44. Cocokkan Alamat Email yang Valid

Banyak programmer berpengalaman suka memvalidasi input pengguna sendiri. Untungnya, sangat mudah untuk memvalidasi data input seperti IP dan email menggunakan ekspresi reguler grep. Perintah berikut akan cocok dengan semua alamat email yang valid.

$ grep -E -o "\b[A-Za-z0-9._%+-][email protected][A-Za-z0-9.-]+\.[A-Za- z]{2,6}\b" /path/to/data

Perintah ini sangat efisien dan cocok dengan hingga 99% alamat email yang valid dengan mudah. Anda dapat menggunakan egrep untuk mempercepat proses.

Perintah grep lain-lain

Utilitas grep menawarkan lebih banyak kombinasi perintah yang berguna yang memungkinkan operasi lebih lanjut pada data. Kami membahas beberapa perintah yang jarang digunakan tetapi penting di bagian ini.

45. Pilih Pola dari File

Anda dapat memilih pola ekspresi reguler Anda untuk grep dari file yang telah ditentukan sebelumnya dengan cukup mudah. Gunakan -f pilihan untuk ini.

$ echo "sample"> file$ grep -f file test.txt

Kami membuat file input yang berisi satu pola menggunakan perintah echo. Perintah kedua mendemonstrasikan input file untuk grep.

46. Kontrol Konteks

Anda dapat dengan mudah mengontrol konteks keluaran grep menggunakan opsi -A , -B , dan -C . Perintah berikut menunjukkan mereka beraksi.

$ grep -A2 'file' test.txt$ grep -B2 'file' test.txt$ grep -C3 'Linux' test.txt

Contoh pertama menunjukkan 2 baris berikutnya setelah pertandingan, contoh kedua menunjukkan 2 baris sebelumnya, dan contoh terakhir menunjukkan keduanya.

47. Menekan Pesan Kesalahan

-s opsi memungkinkan pengguna untuk menekan pesan kesalahan default yang ditampilkan oleh grep jika file tidak ada atau tidak dapat dibaca.

$ grep -s 'file' testing.txt$ grep no-messages 'file' testing.txt

Meskipun tidak ada file bernama testing.txt di direktori kerja saya, grep tidak mengeluarkan pesan kesalahan apa pun untuk perintah ini.

48. Tampilkan Informasi Versi

Utilitas grep jauh lebih tua dari Linux itu sendiri dan berasal dari hari-hari awal Unix. Gunakan perintah berikutnya jika Anda ingin mendapatkan informasi versi grep.

$ grep -V$ grep --version

49. Tampilkan Halaman Bantuan

Halaman bantuan untuk grep berisi daftar ringkasan dari semua fungsi yang tersedia. Ini membantu mengatasi banyak masalah langsung dari terminal.

$ grep --help

Perintah ini akan memanggil halaman bantuan untuk grep.

50. Konsultasikan Dokumentasi

Dokumentasi grep sangat rinci dan memberikan pengenalan menyeluruh untuk fitur yang tersedia dan penggunaan ekspresi reguler. Anda dapat melihat halaman manual untuk grep menggunakan perintah di bawah ini.

$ man grep

Mengakhiri Pikiran

Karena Anda dapat membuat kombinasi perintah apa pun menggunakan opsi CLI grep yang kuat, sulit untuk merangkum segala sesuatu tentang perintah grep dalam satu panduan. Namun, editor kami telah mencoba yang terbaik untuk menguraikan hampir setiap contoh grep praktis untuk membantu Anda membiasakan diri dengannya dengan lebih baik. Kami menyarankan Anda mempraktikkan sebanyak mungkin perintah ini dan menemukan cara untuk memasukkan grep ke dalam pemrosesan file sehari-hari Anda. Meskipun Anda mungkin menghadapi rintangan baru setiap hari, ini adalah satu-satunya cara untuk benar-benar menguasai perintah grep Linux.


Linux
  1. 10 tutorial perintah Linux untuk pemula dan ahli

  2. 10 Contoh Perintah Grep Praktis untuk Pengembang

  3. Perintah grep Linux

  1. Perintah Linux wc Dijelaskan untuk Pemula (6 Contoh)

  2. 8 Contoh Praktis Perintah Linux Xargs untuk Pemula

  3. Untuk apa Linux test -a command test?

  1. Perintah Ls di Linux (Daftar File dan Direktori)

  2. 10 Contoh Perintah Linux Cat untuk Pemula

  3. 5 Contoh Praktis Perintah Kepala di Linux