Belirli bir kelimeyi içeren dosyaları nasıl arayabilirim?


37

Belirli bir kelimeyi içeren dosyaları nasıl arayabilirim?


5
Gerçekten içinde belirli bir sözcük içeren NAMES arama dosyasını mı kastediyorsunuz? yani: adlarında FUN terimi olan tüm dosyalar, FUN_time.txt FUN_stuff.txt Veya INSIDE'da belirli kelimeler için bir dosya mı arıyorsunuz?
dr_willis

Yanıtlar:


51

Komut satırıyla birkaç seçeneğiniz vardır. En çok kullandığım 3 ...

  1. locate {part_of_word}

    Bu konum bulma veritabanınızın güncel olduğunu varsayar, ancak bunu şu şekilde el ile güncelleyebilirsiniz: sudo updatedb

  2. grepdr_willis tarafından açıklandığı gibi. Bir açıklama: daha -Rsonra grepdizinlerde de arandı. Örnek:

    cd\
    grep -R {something_to_look_for} {where_to_look_in}
    
  3. find . -name '*{part_of_word}*' -print

Nerede .şu anda vardır ve dizini *bir joker olduğunu.

Oh ve bunları da birleştirebilirsiniz. Örnek: locate {something}|grep {some_part_of_something}|more

Doğru hatırlıyorsam: locateen hızlısı (veritabanınızın güncel olduğunu varsayarsak) ve finden yavaşıdır. Ve grepen karmaşık olanıdır, aynı zamanda regex'leri kullanabildiğiniz için bunlardan en çok olanıdır.



4

Grep komutu bunun için yaygın olarak kullanılır.

grep PATTERN dosya adı

grep bazı çok karmaşık aramalar yapabilir.

willis@Cow:~$ grep --help
Usage: grep [OPTION]... PATTERN [FILE]...
Search for PATTERN in each FILE or standard input.
PATTERN is, by default, a basic regular expression (BRE).
Example: grep -i 'hello world' menu.h main.c

3
veya "rgrep kelimesini" yapabilirsiniz. her dosyayı ve alt dizini "kelime" için tekrar tekrar aramak
Jeremy Bicha

4

Sen kullanabilirsiniz grepiçeren dosyaları listelemek için wordverilen in directory:

grep -Ril word directory

Burada:
* -Ralt dizinlerdeki dosyaları tekrar tekrar arayın.
* -igörmezden gelin büyük metin
* -ldosya içeriği bölümleri yerine dosya adlarını gösterir. (not: -Lkelimesini içermeyen dosya adlarını gösterir).

man greptüm seçenekleri almak için kullanın


3
Sadece bildiğiniz: büyük -iküçük harf duyarlı bir arama yapar.
David Foerster
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.