Bir klasördeki dosyalar içindeki ipler nasıl aranır?

88

Komut satırı aramalarından kaçınmak için ASCII dosyalarındaki bir dizgiyi aramak için herhangi bir yardımcı program var mı?

Komut satırı araması nasıl yapılır, örneğin "% s_de% dizinindeki tüm dosyalar içindeki" test "dizesi için?

    
sordu Nuno 09.10.2012 10:33

7 cevap

71

Searchmonkey'i kullanabilirsiniz. Araç, depolarda kullanılabilir, böylece kolayca yapabilirsiniz

sudo apt-get install searchmonkey

Öte yandan, grep ile komut satırı araması gerçekten bunun için ...

Burada searchmonkey'den bir ekran görüntüsü var

    
verilen cevap alci 09.10.2012 10:41
140

İlk sorumunuzun grep komutuna bir GUI alternatifi hakkında olduğunu varsayalım. Bu konuda size yardımcı olamam, her zaman komut satırını çok etkili buluyorum.

Komut satırı için

'yi deneyin.
grep "test" /var/x/*

Yinelemeli olarak (yani yalnızca /var/x/ değil, ayrıca alt dizinlerinde de) arama yapmak isterseniz,

grep -R "test" /var/x/

grep'in ikili olduğunu düşündüğü dosyaları dağıtmaktan kaçınmak için -I seçeneğini kullanın:

grep -I "test" /var/x/

grep bir dosyanın ikili olduğunu düşünürse (dosyanın ilk birkaç baytına bağlı olarak), dosyanın tamamını geçmektense eşleşmediğini varsayar.

    
verilen cevap January 09.10.2012 10:46
16

regexxer 'i kullanabilirsiniz, normal ifadeler için harika bir GUI arama / değiştirme aracıdır.

tarafından indirebilirsiniz:

sudo apt-get install regexxer

    
verilen cevap user61928 09.10.2012 12:57
5

Recoll'u dene, kullandığım en iyi GUI. Ubuntu'nun şu anda desteklenen tüm sürümlerinde yükleme yapmak için terminali açın ve şunu yazın:

sudo apt install recoll

Önce dosyaları indekslemek için biraz zamana ihtiyaç duyar (kara liste yolunu veya uzantılarını veya mimiklerini tanımlayabilirsiniz).

    
verilen cevap user244846 05.02.2014 12:28
3

Terminalden grep komutunu kullanabilirsiniz:

grep -r string *

Bu komut, geçerli dizinin altındaki (veya altdizindeki) tüm dosyalarda "dizgi" nin tüm oluşumlarını bulacaktır.

Gizli dosyalar için şunları kullanabilirsiniz:

grep -r string ..

    
verilen cevap inquisitive 16.04.2015 11:58
2

Maalesef, grep Word (.doc) dosyalarının içinde arama yapmak için çok zayıf bir iş yapıyor ancak catdoc çıktısını grep'e dönüştürebilirsiniz. Programcı değilim ama bu küçük senaryo benim için iyi çalışıyor:

#!/bin/bash
export GREP_OPTIONS='--color=auto'
echo -e "\n
Welcome to scandocs. This will search .doc (NOT .docx) files in this directory for a given string. \n
Type in the text string you want to find... \n"
read response
find . -name "*.doc" | 
while read i; do catdoc "$i" | 
grep -iH --label="$i" "$response"; done

Tüm iyileştirmeler ve öneriler hoş geldiniz!

    
verilen cevap Ralph 26.01.2013 15:28
1

İşi yapmak için basit bir araç yayınladım. Esas olarak yazılım geliştirici için düşünüldüğünde, aynı pencerede birkaç dosyanın açılması (benzersiz?) Özelliğine sahiptir. Bu, tarayıcıda Ace editor (recomended!) Veya html textarea kullanarak sunar. Bu bir java tabanlı bir araçtır, bu yüzden pencerelerde ve linux'da çalışır.

bir göz atın!

İşte

    
verilen cevap Alejadro Xalabarder 01.11.2016 22:35

Etiketlerdeki diğer soruları oku