Perintah "grep" dalam Sistem Operasi Percuma seperti GNU / Linux adalah perintah yang sangat berharga dan berguna. Namanya berasal dari frasa dalam bahasa Inggeris: «Cetakan Ekspresi Biasa Global» dan digunakan untuk melaksanakan tugas mencari, mencocokkan dan menampilkan corak pencarian atau ungkapan biasa satu (1) fail atau beberapa fail teks.
Pada dasarnya, perintah «grep» mencari corak yang ditunjukkan dalam parameter perintah perintah, dan mencetak hasil yang diperoleh mengikuti petunjuk parameter perintah perintah., yang dapat: Skrin atau Fail Output.
Pengenalan kepada arahan "grep"
Sudah ada dalam penerbitan sebelumnya yang sama dari blog yang sama, seperti ini «Beberapa arahan asas mengenai ...»Kami telah membincangkan penggunaan asas perintah hebat ini, tetapi Dalam penerbitan ini, kita akan melihat penggunaan perintah "grep" yang lebih menengah dan lanjutan dalam perintah fungsional dan berguna yang dapat memfasilitasi tugas nyata tertentu. dalam skrip shell kami atau langsung di terminal untuk mencapai hasil yang lebih cepat pada tugas tertentu yang akan dilakukan.
Contoh praktikal
Lihat kedudukan / lokasi kami
cetak kandungan direktori semasa kami menggunakan pohon direktori grafik:
ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
Contoh:
Hasilkan kata laluan rawak dengan panjang 30 aksara
Hasilkan rentetan rawak di dalam / dev / urandom dan kemudian pilih dan paparkan satu (1) menggunakan penapisan dengan arahan «grep» untuk aksara alfanumerik sahaja, dengan syarat ukuran 30 aksara pertama, menghilangkan semua umpan baris .
strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n'; echo
Contoh:
Hasilkan ringkasan grafik sambungan
Visualisasikan dalam bentuk grafik (jadual) dan diringkaskan bilangan sambungan rangkaian dalaman dan luaran yang dikesan oleh perintah "netstat" dari host pada waktu tertentu.
netstat -an | grep ESTABLISHED | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | awk '{ printf("%s\t%s\t",$2,$1) ; for (i = 0; i < $1; i++) {printf("*")}; print "" }'
Contoh:
Ia juga dapat digunakan untuk menghasilkan tabel ringkasan jumlah sambungan berdasarkan jenisnya, seperti yang ditunjukkan di bawah:
netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c
Contoh:
Cari rentetan (corak) dalam jalan
Cari dan paparkan semua padanan corak dalam nama fail atau kandungan fail. Penggunaan parameter untuk mencapainya adalah: -R (Pengulangan untuk subdirektori), -n (Tunjukkan bilangan baris pertandingan), -i (Abaikan huruf besar dan kecil), -s (Menindas 'tidak ada' mesej "Dan" tidak dapat dibaca "), -I (Abaikan binari dalam carian).
grep -RnisI *
Ini juga dapat digunakan dengan cara yang lebih maju jika digunakan dalam command prompt dengan perintah "find" untuk mencari corak dalam jenis file yang telah ditentukan. seperti yang ditunjukkan di bawah:
find /opt/MilagrOS -name "*.txt" -exec grep -RnisI "MilagrOS" {} \;
Ketahui jumlah data dalam memori RAM
Ini berguna untuk mengetahui dengan tepat berapa banyak data (maklumat) yang menunggu untuk ditulis ke cakera keras dan perlu untuk memulakan semula atau mematikan komputer.
grep ^Dirty /proc/meminfo
Ketahui Alamat IP WAN kami
Adalah sangat berguna untuk mengetahui IP WAN kami secara automatik dari terminal dan kemudian meneruskan parameter tersebut ke tugas automatik yang lain. Contoh ini menggunakan perkhidmatan DynDNS untuk mendapatkannya.
curl -s http://checkip.dyndns.org/ | grep -o "[[:digit:].]\+"
Senaraikan peralatan yang disambungkan ke segmen Rangkaian
Dengan menggunakan loop for for dengan perintah "ping" dan menyaring hasilnya dengan perintah "grep", kita dapat mengesahkan komputer kita yang tersambung ke rangkaian dengan perkhidmatan ping diaktifkan tanpa memerlukan alat NMap.
for i in {1..10}; do ping -c 1 -W 1 192.168.0.$i | grep 'from'; done
Contoh:
Untuk menyenaraikan medan alamat IP yang dilacak, anda boleh menggunakan baris ini dengan lebih maju, menyaring hasil arahan «grep» menggunakan perintah «awk» dan «potong», seperti yang ditunjukkan di bawah:
for i in {100..110}; do ping -c 1 -W 1 192.168.0.$i | grep 'from'; done | awk '{ print $4 }' | cut -d ":" -f 1
Contoh:
Contoh-contoh baris arahan ini menggunakan perintah grep. Dan ia berfungsi untuk digunakan secara langsung dari konsol atau secara tidak langsung dengan memasukkannya ke dalam skrip (tugas automatik).
Pada posting seterusnya pada Shell Scripting kita akan meneroka perintah lain.
Sekiranya anda ingin mengetahui lebih lanjut mengenai arahan «grep», lawati pautan ini «DEBIANWiki»Dan jika anda ingin mengetahui lebih lanjut mengenai Shell Scripting di Blog kami sendiri, anda boleh melihat penerbitan kami yang lain mengenai perkara ini, dengan mengklik di sini: Skrip DesdeLinux
Artikelnya hebat, terima kasih banyak.
Anda dialu-alukan, ia adalah keseronokan! Sekarang hadir dengan arahan Sed.