Come cercare stringhe all'interno di file come in Windows senza ricerca scimmia?


41

Sto usando Ubuntu su VMWare ma non riesco a collegarmi a Internet a causa di restrizioni di sicurezza.

Mi chiedevo se c'era un modo per cercare le stringhe attraverso il terminale e trovare su quale riga si trova la stringa all'interno del file.


1
Stai parlando grepo qualcosa di più avanzato?
Muru,

L'hai cercato prima tu.
xxbinxx,

Risposte:


56

Ci sono quasi troppe opzioni da elencare

grep -r 'pattern_to_match' directory_to_search

Produrrà il nome del file e la linea completa corrispondenti al modello.


18

Il migliore che uso è il comando grep con le opzioni -ri (ricerca ricorsiva e insensibile al maiuscolo / minuscolo):

$ grep -r <text_pattern_to_search> directory_or_path_to_search

opzioni che potrebbero esserti utili:

    -i - case insensitive
    -r, --recursive  like --directories=recurse
    -R, --dereference-recursive  likewise, but follow all symlinks
      --include=FILE_PATTERN  search only files that match FILE_PATTERN
      --exclude=FILE_PATTERN  skip files and directories matching FILE_PATTERN
      --exclude-from=FILE   skip files matching any file pattern from FILE
      --exclude-dir=PATTERN  directories that match PATTERN will be skipped.

per informazioni profonde puoi fare grep --helpo man grepnel terminale Linux.

Saluti


7


Se si desidera trovare solo il numero di riga in cui si trova la puntura all'interno del file, utilizzare questo:

grep -n '/string_To_Find/=' directory/file_Name

Se si desidera trovare il numero di riga e generare anche il nome completo della riga in cui si trova la stringa nella riga, utilizzare questo:

grep -n 'string_To_Find' directory/file_Name

E se vuoi trovare solo il nome della linea completa dove si trova la stringa, usa questo:

grep -r 'string_To_Find' directory/file_Name
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.