it-swarm.asia

Terminalde belirli metin içeren dosyalar nasıl bulunur

Belirli bir metin dizesi içeren tüm dosyaları bulmak istiyorum. Terminalde bunu nasıl yaparsın?

149
Svish
grep -r 'text goes here' path_goes_here
256

spot ışığı kullan

mdfind "text goes here"
mdfind -onlyin /home/user/Desktop -live "live update"

bakmayı unutma:

man mdfind
26
user46046
  1. Ack sayesinde

brew install ack ack "text goes here"

  1. Bulmak yoluyla

find . |grep "text goes here"

  1. Grep ile

grep -RnslI "text goes here"

10
Anant Gupta

İsteğinize ve ihtiyaçlarınıza bağlı olarak aşağıdakilerden birini seçebilirsiniz. Metin içeren dosyaları aramanız gerektiğini varsayalım - "asenkron", geçerli dizinde yinelemeli olarak, bunu aşağıdaki yollardan biriyle yapabilirsiniz:

grep kullanımı  enter image description here

Ack kullanımı  enter image description here

3
karthiks

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 Desen içermeyen dosyaların yanında gördüğüm şey bu.

Bunun yerine, aşağıdaki gibi, komuta -s eklerseniz: grep -lr "text pattern" ./ -s; grep -lr "text pattern" [PATH DIRECTORY] -s kullanılır, yalnızca hangi dosyaların deseni içerdiğini gösterir.

Benzer şekilde, eğer grep -nr "text pattern" ./ -s; grep -nr "text pattern" [PATH OF DIRECTORY] -s komutu, 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?

1
CP3O