Dosyalarda ve Dizinlerde Belirli Bir Dize veya Kelime Nasıl Bulunur?


Belirli bir kelimeyi veya metin dizesini içeren tüm dosyaları Linux sisteminizin tamamında veya belirli bir dizinde bulmak mı istiyorsunuz? Bu makale, bunun nasıl yapılacağı konusunda size rehberlik edecek; belirli bir metin dizesini içeren tüm dosyaları bulmak ve listelemek için dizinleri yinelemeli olarak nasıl kazacağınızı öğreneceksiniz.

Bunu çözmenin basit bir yolu, Unix benzeri sistemlerdeki dosyalardan veya dizinlerden kalıpları ve kelimeleri bulmak için güçlü, verimli, güvenilir ve en popüler komut satırı aracı olan grep kalıp arama aracını kullanmaktır.

Ayrıca Okuyun: Karakter Sınıfları ve Parantez İfadeleriyle İlgili 11 Gelişmiş Linux 'Grep' Komutu

Aşağıdaki komut, ~/bin dizininde yinelemeli ve agresif bir şekilde arama yaparak, “check_root” metnini içeren bir satır içeren tüm dosyaları listeleyecektir.

grep -Rw ~/bin/ -e 'check_root'

Burada -R seçeneği, grep'e her dizin altındaki tüm dosyaları yinelemeli olarak okumasını, yalnızca komut satırındaysa sembolik bağlantıları izlemesini ve -w< seçeneğini söylemesini söyler. ona yalnızca tam sözcükleri oluşturan eşleşmeleri içeren satırları seçmesi talimatını verir ve aranacak dizeyi (deseni) belirtmek için -e kullanılır.

Kök izinleri gerektiren belirli dizinleri veya dosyaları ararken sudo komutunu kullanmalısınız (sisteminizi kök hesapla yönetmediğiniz sürece).

 
sudo grep -Rw / -e 'check_root'	

Büyük/küçük harf ayrımlarını göz ardı etmek için gösterildiği gibi -i seçeneğini kullanın:

grep -Riw ~/bin/ -e 'check_root'

Metin dizisinin bulunduğu satırı tam olarak bilmek istiyorsanız -n seçeneğini ekleyin.

grep -Rinw ~/bin/ -e 'check_root'

Aramak istediğiniz dizinde birden fazla dosya türü olduğunu varsayarsak, aranacak dosyaların türünü, örneğin --include seçeneğini kullanarak uzantılarına göre de belirleyebilirsiniz.

Bu örnek grep'e yalnızca tüm .sh dosyalarına bakmasını söyler.

grep -Rnw --include=\*.sh ~/bin/ -e 'check_root'

Ayrıca aşağıdaki komutu kullanarak birden fazla desen aramak da mümkündür.

grep -Rinw ~/bin/ -e 'check_root' -e 'netstat'

Bu kadar! Dosyalarda dize veya kelime bulmak için başka bir komut satırı hilesi biliyorsanız, bizimle paylaşın veya bu konuyla ilgili sorularınız varsa aşağıdaki yorum formunu kullanın.