Cara menemukan semua file dengan teks tertentu menggunakan linux shell
- 4819
- 581
- Ricardo Gottlieb
Objektif
Artikel berikut memberikan beberapa tips berguna tentang cara menemukan semua file dalam direktori tertentu atau seluruh sistem file yang berisi kata atau string tertentu.
Kesulitan
MUDAH
Konvensi
- # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan
sudo
memerintah - $ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa
Contoh
Temukan semua file dengan string tertentu non-rekursif
Contoh perintah pertama akan mencari string menggeliat
Di semua file di dalam /dll/
Direktori saat mengecualikan sub-direktori apa pun:
# grep -s stretch/etc/*/etc/os-rilis: pretty_name = "debian gnu/linux 9 (peregangan)"/etc/os-rilis: versi = "9 (peregangan)"
Itu -S
Opsi GREP akan menekan pesan kesalahan tentang file yang tidak ada atau tidak dapat dibaca. Output menunjukkan nama file serta mencetak baris aktual yang berisi string yang diminta.
Temukan semua file dengan string tertentu secara rekursif
Perintah di atas menghilangkan semua sub-direktori. Untuk mencari secara rekursif berarti juga melintasi semua sub-direktori. Perintah Linux berikut akan mencari string menggeliat
Di semua file di dalam /dll/
Direktori termasuk semua sub-direktori:
# grep -r peregangan/etc/*/etc/apt/sumber.Daftar:# Deb Cdrom: [Debian GNU/Linux Testing _stretch_-Snapshot resmi AMD64 NetInst Binary-1 20170109-05: 56]/Stretch Main/etc/apt/Sources.DAFTAR: #DEB CDROM: [Debian GNU/Linux Testing _stretch_-Snapshot resmi AMD64 NetInst Binary-1 20170109-05: 56]/Stretch Main/etc/apt/Sumber.Daftar: Deb http: // ftp.au.Debian.org/debian/peregangan utama/etc/apt/sumber.DAFTAR: DEB-SRC http: // ftp.au.Debian.org/debian/peregangan utama/etc/apt/sumber.Daftar: Deb http: // keamanan.Debian.org/debian-keamanan peregangan/memperbarui utama/etc/apt/sumber.Daftar: Deb-Src http: // keamanan.Debian.ORG/DEBIAN-SECURITY STRASH/UPDATE MAIN/ETC/DICTIONARY-COMMON/WORDS: backstretch/etc/kamus-common/Words: backstretch's/etc/dictionaries-common/Words: backstretches/etc/kamus-common/Words: homestretch/ etc/kamus-umum/kata-kata: homestretch's/etc/kamus-umum/kata-kata: homestretches/etc/kamus-common/kata-kata: outstretch/etc/kamus-common/kata: outstretched/etc/kamus-common/kata: outstretches/ ETC/Dictionaries-Common/Words: Outstretching/etc/Dictionaries-Common/Words: Stretch/etc/Dictionaries-Common/Words: Stretch's/etc/Dictionaries-Common/Words: Stretched/Etc/Dictionaries-Common/Words: tandu/ etc/kamus-umum/kata-kata: tandu/etc/kamus-umum/kata-kata: tandu/etc/kamus-umum/kata-kata: peregangan/etc/kamus-common/kata-kata: estat/etc/kamus-common/kata etc/kamus-umum/kata-kata:peregangan/etc/kamus-umum/kata-kata: melar/etc/grub.d/00_header: latar belakang_image -m peregangan 'make_system_path_relative_to_its_root "$ grub_background"'/etc/os-rilis: Pretty_name = "debian gnu/linux 9 (peregangan)"/etc/os-rilis: versi = "9 (peregangan)"
Cari semua file yang berisi kata tertentu
Di atas grep
Perintah Contoh Contoh daftar semua file yang berisi string menggeliat
. Artinya kalimat dengan peregangan
, membentang
dll. juga ditampilkan. Gunakan Grep -w
opsi untuk hanya menampilkan kata tertentu:
# grep -rw peregangan/etc/*/etc/apt/sumber.Daftar:# Deb Cdrom: [Debian GNU/Linux Testing _stretch_-Snapshot resmi AMD64 NetInst Binary-1 20170109-05: 56]/Stretch Main/etc/apt/Sources.DAFTAR: #DEB CDROM: [Debian GNU/Linux Testing _stretch_-Snapshot resmi AMD64 NetInst Binary-1 20170109-05: 56]/Stretch Main/etc/apt/Sumber.Daftar: Deb http: // ftp.au.Debian.org/debian/peregangan utama/etc/apt/sumber.DAFTAR: DEB-SRC http: // ftp.au.Debian.org/debian/peregangan utama/etc/apt/sumber.Daftar: Deb http: // keamanan.Debian.org/debian-keamanan peregangan/memperbarui utama/etc/apt/sumber.Daftar: Deb-Src http: // keamanan.Debian.ORG/DEBIAN-SECURITY STRASH/UPDATES MAIN/ETC/DICTIONARY-COMMON/Words: Stretch/etc/Dictionaries-Common/Words: Stretch's/etc/grub.d/00_header: latar belakang_image -m peregangan 'make_system_path_relative_to_its_root "$ grub_background"'/etc/os-rilis: Pretty_name = "debian gnu/linux 9 (peregangan)"/etc/os-rilis: versi = "9 (peregangan)"
Daftar hanya nama file yang berisi teks tertentu
Perintah di atas dapat menghasilkan output yang tidak perlu. Contoh berikutnya hanya akan menampilkan semua nama file yang berisi string menggeliat
di dalam /dll/
Direktori secara rekursif:
# grep -rl peregangan/etc/*/etc/apt/sumber.Daftar/etc/kamus-umum/kata/etc/grub.d/00_header/etc/os-rilis
Lakukan pencarian yang tidak sensitif pada kasus
Semua pencarian secara default case sensitive yang berarti bahwa pencarian untuk string apa pun menggeliat
hanya akan menampilkan file yang berisi huruf besar dan kecil yang tepat. Dengan menggunakan grep -Saya
Opsi Perintah juga akan mencantumkan baris apa pun yang berisi Menggeliat
, MENGGELIAT
, Menggeliat
dll., Oleh karena itu, untuk melakukan pencarian yang tidak sensitif pada kasus.
# grep -ril peregangan/etc/*/etc/apt/sumber.Daftar/etc/kamus-umum/default.hash/etc/kamus-common/words/etc/grub.d/00_header/etc/os-rilis
Sertakan atau mengecualikan nama file tertentu dari pencarian
Menggunakan grep
Perintah juga dimungkinkan untuk memasukkan hanya file spesifik sebagai bagian dari pencarian. Misalnya kami hanya ingin mencari teks/string tertentu dalam file konfigurasi dengan ekstensi .conf
. Contoh berikutnya akan menemukan semua file dengan ekstensi .conf
di dalam /dll
Direktori yang berisi string pesta
:
# grep -ril bash /etc /*.conf atau # grep -ril --include = \*.conf bash /etc /* /etc /adduser.conf
Demikian pula, menggunakan --mengecualikan
Opsi Kami dapat mengecualikan nama file tertentu:
# grep -ril --exclude = \*.conf bash/etc/*/etc/alternatif/view/etc/alternatif/vim/etc/alternatif/vi/etc/alternatif/vimdiff/etc/alternatif/rvim/etc/alternatif/ex/etc/alternatif/rview/etc /pesta.Bashrc /etc /Bash_Completion.d/grub/etc/cron.harian/apt-compat/etc/cron.harian/exim4-base/etc/kamus-common/default.hash/etc/kamus-umum/kata/etc/inputrc/etc/passwd/etc/passwd-/etc/profile/etc/shells/etc/skel/.profil/etc/skel/.Bashrc/etc/skel/.Bash_logout
Mengecualikan direktori spesifik dari pencarian
Sama seperti dengan file grep juga dapat mengecualikan direktori spesifik dari pencarian. Menggunakan --mengecualikan DIR
opsi untuk mengecualikan direktori dari pencarian. Contoh pencarian berikut akan menemukan semua file yang berisi string menggeliat
di dalam /dll
direktori dan mengecualikan /etc/grub.D
dari pencarian:
# grep --Exclude-Dir =/etc/grub.d -rwl peregangan/etc/*/etc/apt/sumber.Daftar/etc/kamus-umum/kata/etc/os-rilis
Tampilkan nomor baris yang berisi string yang dicari
Dengan menggunakan -N
Opsi GREP juga akan memberikan informasi mengenai nomor baris di mana string spesifik ditemukan:
# grep -rni bash /etc /*.conf /etc /adduser.conf: 6: dshell =/bin/bash
Temukan semua file yang tidak berisi string tertentu
Contoh terakhir akan digunakan -v
Opsi untuk mendaftar semua file yang tidak berisi kata kunci tertentu. Misalnya pencarian berikut akan mencantumkan semua file di dalam /dll/
direktori yang tidak mengandung string menggeliat
:
# grep -rlv stretch /etc /*
Tutorial Linux Terkait:
- Hal -hal yang harus diinstal pada ubuntu 20.04
- Perintah Linux: 20 perintah terpenting teratas yang Anda butuhkan untuk…
- Perintah Linux Dasar
- Cara menemukan string atau teks dalam file di linux
- Cara dengan benar GREP untuk teks dalam skrip bash
- Temukan semua file yang berisi teks tertentu
- Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
- Cara mencetak pohon direktori menggunakan linux
- Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 4
- Contoh dan trik Contoh Tips Baris Bash Berguna - Bagian 1
- « Cara mengaktifkan dan menonaktifkan modul php curl dengan apache di ubuntu linux
- Debian apt-get Jessie Sumber.daftar »