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'