Belirli bir metin dizesi içeren tüm dosyaları bulmak istiyorum. Terminalde bunu nasıl yaparsın?
Belirli bir metin dizesi içeren tüm dosyaları bulmak istiyorum. Terminalde bunu nasıl yaparsın?
Yanıtlar:
grep -r 'text goes here' path_goes_here
man grep
grep tüm harika seçenekleri keşfetmek için bir öneriyorum
No such file or directory
Yalnızca metin olaylarının listesini almaya çalışıyorum. Bu listeyi nasıl alabiliriz?
grep -lr "text pattern" ./ -s
:; grep -lr "text pattern" [PATH OF PARENT] -s
spot ışığı kullan
mdfind "text goes here"
mdfind -onlyin /home/user/Desktop -live "live update"
bakmayı unutma:
man mdfind
brew install ack
ack "text goes here"
find . |grep "text goes here"
grep -RnslI "text goes here"
Ignacio'nun Cevabı harika ve belirli bir metni içeren dosyaları bulmama yardım etti. Karşılaştığım tek sorun, bu komutu çalıştırırken, desenin görünmediği yerler de dahil olmak üzere tüm dosyaların listelenmesiydi.
No such file or directory
Bu, deseni içermeyen dosyaların yanında gördüğüm şey.
Bunun yerine -s
, aşağıdaki gibi komuta
eklerseniz grep -lr "text pattern" ./ -s
; grep -lr "text pattern" [PATH DIRECTORY] -s
kullanıldıysa, yalnızca hangi dosyaların deseni içerdiğini gösterecektir.
Benzer şekilde eğer grep -nr "text pattern" ./ -s
; grep -nr "text pattern" [PATH OF DIRECTORY] -s
komut, dosyayı ve satır numarasını ve kalıbın oluşumunu yazdırır.
Anlayışım yanlışsa lütfen beni düzeltin.
Referans: 'Böyle bir dosya ya da dizin yok' hatalarını nasıl yazdırabilirim?
grep ... 2>/dev/null
. Bu çözüm çoğu program için çalışır, çünkü stdout'taki stderr akışındaki hata mesajlarını bildirirler. Bu çözümü birçok kez kullandım find
, pek çok dosya için İzin Verilmediğini söylüyor .
No such file or directory
dosyalar için mesaj alıyorsanız, ya yanlış bir şey yapıyorsunuz ya da sisteminiz bozuk. (2) Bir [PATH OF PARENT]
şeyle ne ilgisi var?
[PATH OF DIRECTORY]
tanıdık olmayan birini neden koyduğumu bilmek istediğini belirtmek için cevabı değiştirdim./