Come cercare file contenenti parole specifiche?
Come cercare file contenenti parole specifiche?
Risposte:
Con la riga di comando hai diverse opzioni. I 3 che utilizzo di più sono ...
locate {part_of_word}
Ciò presuppone che il database di individuazione sia aggiornato ma è possibile aggiornarlo manualmente con: sudo updatedb
grepcome spiegato da dr_willis. Un'osservazione: -Rdopo grepanche cercato all'interno delle directory. Esempio:
cd\
grep -R {something_to_look_for} {where_to_look_in}
find . -name '*{part_of_word}*' -print
Dov'è .la directory in cui ti trovi al momento ed *è un jolly.
Oh e puoi anche combinare questi. Esempio:
locate {something}|grep {some_part_of_something}|more
Se ricordo bene: locateè il più veloce (supponendo che il tuo database sia aggiornato) ed findè il più lento. Ed grepè il più complesso ma anche il più versatile di questi poiché è possibile utilizzare regex.
grep -R "cosa" "dove"
esempio:
grep -R hello /home
Il comando grep è comunemente usato per questo.
grep PATTERN nomefile
e grep può fare ricerche molto complesse.
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
È possibile utilizzare grepper elencare i file contenenti wordnel dato directory:
grep -Ril word directory
Qui:
* -Rcerca ricorsivamente i file nelle sottodirectory.
* -iignora maiuscole / minuscole
* -lmostra i nomi dei file anziché le porzioni dei contenuti dei file. (nota: -Lmostra i nomi dei file che non contengono la parola).
utilizzare man grepper ottenere tutte le opzioni
-iesegue una ricerca senza distinzione tra maiuscole e minuscole.