GNU/Linux >> Tutoriels Linux >  >> Linux

Trouver un mot spécifique dans les fichiers et lister les lignes

Il existe de nombreuses situations dans lesquelles vous pouvez rechercher des mots spécifiques dans des fichiers. Ceci peut être obtenu avec l'utilisation du Linux grep utilitaire.

Avec le grep utilitaire, vous pouvez rechercher dans un seul fichier, mais vous pouvez également effectuer une recherche récursive dans tous les fichiers d'un répertoire.

Pour rechercher dans un seul fichier, utilisez :

# grep -n "texttofind" filename
root@web [/]# grep -n "lorem" /temp3/textfile2.txt
8:Nunc efficitur lorem eu dui malesuada tincidunt.
29:Praesent eu tortor sed lorem egestas mollis.
46:Morbi quis massa vel metus pharetra eleifend et non lorem.
79:Duis at diam vitae lectus finibus consequat malesuada nec lorem.
116:Nulla lacinia lorem eget quam porttitor elementum.
139:Nunc dignissim nunc rhoncus, vestibulum lorem sit amet, commodo mi.
142:Aenean hendrerit lorem eget nisi euismod, finibus aliquam enim maximus.
148:In sed lorem at libero vulputate efficitur eget non tortor.
157:Vestibulum quis lorem convallis, ultricies nunc non, lacinia mi.
root@web [/]#

Pour rechercher dans tous les fichiers d'un répertoire, utilisez :

# grep -nr "texttofind" path
root@web [/]# grep -nr "lorem" /temp3
/temp3/textfile2.txt:8:Nunc efficitur lorem eu dui malesuada tincidunt.
/temp3/textfile2.txt:29:Praesent eu tortor sed lorem egestas mollis.
/temp3/textfile2.txt:46:Morbi quis massa vel metus pharetra eleifend et non lorem.
/temp3/textfile2.txt:79:Duis at diam vitae lectus finibus consequat malesuada nec lorem.
/temp3/textfile2.txt:116:Nulla lacinia lorem eget quam porttitor elementum.
/temp3/textfile2.txt:139:Nunc dignissim nunc rhoncus, vestibulum lorem sit amet, commodo mi.
/temp3/textfile2.txt:142:Aenean hendrerit lorem eget nisi euismod, finibus aliquam enim maximus.
/temp3/textfile2.txt:148:In sed lorem at libero vulputate efficitur eget non tortor.
/temp3/textfile2.txt:157:Vestibulum quis lorem convallis, ultricies nunc non, lacinia mi.
/temp3/textfile1:2:Cras vel velit et lorem dignissim placerat.
/temp3/textfile1:24:Aliquam id erat mattis, viverra lorem id, ultricies purus.
/temp3/textfile1:52:Suspendisse porttitor risus nec odio facilisis, sit amet iaculis lorem fermentum.
/temp3/textfile1:86:Duis consectetur dolor id lorem mattis sagittis.
/temp3/textfile1:105:Aenean a justo vel lorem tincidunt tincidunt at sed urna.
/temp3/textfile1:109:Nunc at tortor nec lorem ullamcorper eleifend quis vitae nibh.
/temp3/textfile1:127:Duis quis nibh consectetur, scelerisque lorem gravida, suscipit nisl.
/temp3/textfile1:132:Fusce et lorem a diam lacinia efficitur placerat vel mauris.
root@web [/]#

Certaines des options pour le grep commande :

-r	to recursively search
-n	to display line numbers

Pour d'autres options utiles, consultez le fichier d'aide de grep commande avec man grep


Linux
  1. Rechercher des fichiers et des répertoires sous Linux avec la commande find

  2. Commande grpck – Supprimez les entrées corrompues ou en double dans les fichiers /etc/group et /etc/gshadow.

  3. Comment lister récursivement tous les fichiers et répertoires

  4. Quand dois-je utiliser /dev/shm/ et quand dois-je utiliser /tmp/?

  5. Quelle est la différence entre /tmp et /run ?

Comment trouver une chaîne ou un mot spécifique dans les fichiers et les répertoires

Comment rechercher et répertorier récursivement les fichiers par date sous Linux

La bonne façon de modifier les fichiers /etc/passwd et /etc/group sous Linux

Grep pour plusieurs chaînes dans des fichiers, puis répertorier les fichiers dans l'ordre de taille ?

Fichiers /proc/cpuinfo et /proc/meminfo sous Linux

Comprendre les fichiers /proc/mounts, /etc/mtab et /proc/partitions