web-dev-qa-db-fra.com

Comment rechercher des chaînes dans des fichiers comme dans Windows sans chercher monkey?

J'utilise Ubuntu sur VMWare mais je ne peux pas me connecter à Internet à cause des restrictions de sécurité.

Je me demandais s'il existait un moyen de rechercher des chaînes dans le terminal et de trouver la ligne dans laquelle se trouve la chaîne dans le fichier.

27
user138056

Il y a presque trop d'options à énumérer

grep -r 'pattern_to_match' directory_to_search

Affiche le nom du fichier et la ligne complète correspondant au motif.

42
Panther

Le meilleur que j'utilise est la commande grep avec les options -ri (recherche récursive sans tenir compte de la casse):

$ grep -r <text_pattern_to_search> directory_or_path_to_search

options qui pourraient vous être utiles:

    -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.
15
xxbinxx


Si vous voulez trouver uniquement le numéro de ligne où se trouve la piqûre dans le fichier, utilisez ceci:

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

Si vous voulez trouver le numéro de ligne et aussi afficher le nom complet de la ligne où se trouve la chaîne, utilisez ceci:

grep -n 'string_To_Find' directory/file_Name

Et si vous voulez seulement trouver le nom complet de la ligne où se trouve la chaîne, utilisez ceci:

grep -r 'string_To_Find' directory/file_Name
6
αғsнιη