Grep: Belajar Skrip Shell Menggunakan Perintah Terminal Grep

arahan grep

Belajar Skrip Shell menggunakan perintah terminal: grep

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:

Grep: Direktori seperti pokok

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:

Grep: Jana Kata Laluan

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:

Grep: Graf Sambungan Netstat

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:

Grep: Jadual Ringkasan dengan Netstat

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  *

Grep: Mencari corak dalam fail dan folder

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" {} \;

Grep: Cari corak dalam fail

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

Grep: Data dalam RAM

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:].]\+"

Grep: Ketahui IP WAN kami

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:

Grep: Penyenaraian IP LAN

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 dalam FromLinux


Kandungan artikel mematuhi prinsip kami etika editorial. Untuk melaporkan ralat, klik di sini.

2 komen, tinggalkan komen anda

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan.

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.

  1.   Leandro kata

    Artikelnya hebat, terima kasih banyak.

  2.   Pasang Linux kata

    Anda dialu-alukan, ia adalah keseronokan! Sekarang hadir dengan arahan Sed.

bool(benar)