Contoh 12 berguna bagi arahan grep Linux

Dalam artikel ini, kami akan memberikan anda contoh berguna mengenai arahan grep Linux termasuk dua program variasi: egrep dan fgrep. grep (cetak ungkapan biasa global) digunakan untuk mencari rentetan teks dan baris ekspresi tetap mengikut baris yang sepadan dengan pola tertentu dalam satu atau lebih fail.

Disenaraikan di bawah adalah beberapa contoh mudah dan berguna tentang cara menggunakan perintah grep di Linux dan mencari rentetan dalam satu / berbilang fail.

Cari baris yang mengandungi 'DB_USER' dalam fail konfigurasi WordPress (wp-config.php):

# grep 'DB_USER' wp-config.php define ('DB_USER', 'wpuser');

Cari semua fail PHP yang mengandungi teks 'str_replace' di dalam direktori 'wp-admin' pemasangan WordPress:

# # grep "str_replace" admin * .php admin-ajax.php: add_action ('wp_ajax_'. $ _GET ['action'], 'wp_ajax_' str_replace ('-', ' ]), 1); admin-ajax.php: add_action ('wp_ajax_'. $ _POST ['action'], 'wp_ajax_'. str_replace ('-', '_', $ _POST ['action']), 1); admin-header.php: $ admin_body_class. = 'branch-'. str_replace (array ('.', ','), '-', floatval ($ wp_version)); admin-header.php: $ admin_body_class. = 'version-'. str_replace ('.', '-', preg_replace ('/^([.0-9]+).*/', '$ 1', $ wp_version)); admin-header.php: $ admin_body_class. = 'locale-'. sanitize_html_class (strtolower (str_replace ('_', '-', get_locale ())));

Jika anda ingin menambah nombor baris pada hasil carian, gunakan arahan berikut:

# Grep -n "str_replace" admin * .php admin-ajax.php: 73: ADD_ACTION ( 'wp_ajax_' $ _GET [ 'tindakan'], 'wp_ajax_' str_replace ( '-', '_', $ _GET [.. 'tindakan'], 1); admin-ajax.php: 76: add_action ('wp_ajax_'. $ _POST ['action'], 'wp_ajax_'. str_replace ('-', '_', $ _POST ['action']), 1); admin-header.php: 157: $ admin_body_class. = 'branch-'. str_replace (array ('.', ','), '-', floatval ($ wp_version)); admin-header.php: 158: $ admin_body_class. = 'version-'. str_replace ('.', '-', preg_replace ('/^([.0-9]+).*/', '$ 1', $ wp_version)); admin-header.php: 160: $ admin_body_class. = 'locale-'. sanitize_html_class (strtolower (str_replace ('_', '-', get_locale ())));

Cari semua fail PHP yang mengandungi teks 'str_replace' yang mempunyai huruf modal atau kecil di dalamnya, yang terletak di direktori 'wp-admin' secara rekursif (iaitu membaca semua fail di bawah setiap direktori) dan senaraikan nama fail sahaja:

# grep -ril "str_replace" admin * .php admin-ajax.php admin-header.php

perintah grep sering digunakan dalam saluran paip Unix / Linux dengan arahan lain. Disenaraikan di bawah adalah beberapa contoh yang lebih maju tentang cara menggunakan perintah grep di Linux:

Cari baris yang mengandungi 'eval' dalam semua fail PHP yang terletak dalam direktori semasa:

#cari . -name '* .php' -exec grep -l 'eval' {}; ./wp-admin/includes/image.php ./wp-admin/includes/class-wp-upgrader.php ./wp-admin/includes/class-pclzip.php ./wp-admin/includes/media.php ./wp-admin/includes/update-core.php ./wp-admin/includes/ajax-actions.php ./wp-admin/includes/class-wp-automatic-updater.php ./wp-admin/includes. /class-wp-posts-list-table.php ./wp-admin/user-edit.php ./wp-admin/edit-tag-form.php

Senaraikan semua proses Apache:

# ps aux | grep http akar 1259 0.0 0.0 114644 984 mata / 0 S + 01: 37 0: 00 grep --Warna = akar auto http 1471 0.0 2.3 502008 24508? Ss Jun27 0: 03 / usr / sbin / httpd -k mula tiada sesiapa 31256 0.0 3.8 510140 40412? S 00: 00 0: 01 / usr / sbin / httpd -k mula tiada sesiapa 31257 0.0 4.2 510220 44404? S 00: 00 0: 02 / usr / sbin / httpd -k mula tiada sesiapa 31258 0.0 4.5 511156 47924? S 00: 00 0: 02 / usr / sbin / httpd -k mula tiada sesiapa 31259 0.0 5.4 514240 56648? S 00: 00 0: 02 / usr / sbin / httpd -k mula tiada sesiapa 31260 0.0 3.9 510388 41668? S 00: 00 0: 01 / usr / sbin / httpd -k mula tiada sesiapa 31585 0.0 4.2 511156 44188? S 00: 13 0: 01 / usr / sbin / httpd -k bermula

Lihat mana soket yang dimiliki untuk memproses ID 31585:

# lsof -p 31585 | grep -Ei 'CWD | unix | sock' httpd 31585 tiada siapa CWD DIR 144,142 4096 35120509 / httpd 31585 tiada siapa yang mem REG 8,18 38427466 /opt/cpanel/ea-php56/root/usr/lib64/php/modules/sockets.so (jalan dev = 144,142) httpd 31585 tidak ada sesiapa 8,18 36064050 /usr/lib64/apache2/modules/mod_unixd.so (path dev = 144,142)

Tunjukkan jumlah sambungan Apache di port 80:

# netstat -an | grep: 80 | wc -l 1627

Keluarkan semua mesej beku dalam gilir e-mel Exim segera:

#exim -bpr | grep beku | awk {'print $ 3'} | xargs Exim -Mrm Mesej 1dPhFh-0000t6-D0 telah dikeluarkan Mesej 1dPenR-0000Ls-S8 telah dikeluarkan Mesej 1dPexx-0000OD-A6 telah dikeluarkan

Cari fail yang mengandungi corak teks (contohnya halo):

cari . -iname "* .txt" -exec grep -l "hello" {} +

Untuk mencari pelbagai corak pada satu-satu masa, anda boleh menggunakan perintah egrep. egrep adalah sama dengan grep -E.

#egrep 'cachedir | exclude' /etc/yum.conf cachedir = / var / cache / yum / $ basearch / $ releasever exclude = lm_sensors *

Fgrep mencari fail atau senarai fail untuk rentetan corak tetap. fgrep adalah sama dengan grep -F.

#fgrep 'cachedir' /etc/yum.conf cachedir = / var / cache / yum / $ basearch / $ releasever

Source

Sila tinggalkan balasan anda

Laman web ini menggunakan Akismet untuk mengurangkan spam. Ketahui bagaimana data komen anda diproses.