GNU/Linux >> Belajar Linux >  >> Linux

Daftar nama file berdasarkan pola nama file dan konten file?

grep LMN20113456 LMN2011*

atau jika Anda ingin mencari secara rekursif melalui subdirektori:

find . -type f -name 'LMN2011*' -exec grep LMN20113456 {} \;

Itu bisa dilakukan tanpa find juga dengan menggunakan "--include" grep opsi.

halaman manual grep mengatakan:

--include=GLOB
Search only files whose base name matches GLOB (using wildcard matching as described under --exclude).

Jadi untuk melakukan pencarian rekursif untuk string dalam file yang cocok dengan pola tertentu, akan terlihat seperti ini:

grep -r --include=<pattern> <string> <directory>

Misalnya, untuk mencari string "mytarget" secara rekursif di semua Makefile:

grep -r --include="Makefile" "mytarget" ./

Atau untuk mencari di semua file yang dimulai dengan "Buat" di nama file:

grep -r --include="Make*" "mytarget" ./

Grep TIDAK menggunakan "wildcard" untuk pencarian – itu adalah shell globbing, seperti *.jpg.Grep menggunakan "regular expression" untuk pencocokan pola. Sementara di shell '*' berarti "apa saja", di grep itu berarti "cocok dengan item sebelumnya nol kali atau lebih".

Informasi lebih lanjut dan contoh di sini:http://www.regular-expressions.info/reference.html

Untuk menjawab pertanyaan Anda - Anda dapat menemukan file yang cocok dengan beberapa pola grep:

find /somedir -type f -print | grep 'LMN2011' # that will show files whose names contain LMN2011

Kemudian Anda dapat menelusuri kontennya (tidak peka huruf besar/kecil):

find /somedir -type f -print | grep -i 'LMN2011' | xargs grep -i 'LMN20113456'

Jika jalur dapat berisi spasi, Anda harus menggunakan fitur "ujung nol":

find /somedir -type f -print0 | grep -iz 'LMN2011' | xargs -0 grep -i 'LMN20113456'

Linux
  1. Cetak Garis Antara (dan Termasuk) Dua Pola?

  2. Output Ke Stdout Dan Pada Saat Yang Sama Grep Ke File?

  3. Bagaimana Cara Mencari Di File Tertentu yang Sesuai Dengan Pola?

  1. Encode Konten File Dan Gema Sebagai Satu Baris?

  2. Bagaimana saya bisa mencari pola multiline dalam sebuah file?

  3. grep daftar besar terhadap file besar

  1. Keuntungan dari file cat'ing dan pemipaan ke grep

  2. AWK dan nama file dengan spasi di dalamnya.

  3. sintaks ls --hide=dan ls --ignore=