GNU/Linux >> Tutoriels Linux >  >> Linux

Comment afficher le résultat de grep avec le chemin complet ou le nom de fichier

En supposant que vous ayez deux fichiers journaux dans :

  • C:/temp/mon.log
  • C:/temp/aussiMon.log

cd vers C:et utilisez :

grep -r somethingtosearch temp/*.log

Cela vous donnera une liste comme :

temp/my.log:somethingtosearch
temp/alsoMy.log:somethingtosearch1
temp/alsoMy.log:somethingtosearch2

Je tombe ici alors que je cherchais exactement le même problème et peut-être que cela peut en aider d'autres.

Je pense que la vraie solution est :

cat *.log | grep -H somethingtosearch

Si vous voulez voir les chemins complets, je vous recommande de cd dans le répertoire supérieur (de votre lecteur si vous utilisez Windows)

cd C:\
grep -r somethingtosearch C:\Users\Ozzesh\temp

Ou sous Linux :

cd /
grep -r somethingtosearch ~/temp

si vous résistez vraiment au filtrage par nom de fichier (*.log) ET que vous voulez recursive (les fichiers ne sont pas tous dans le même répertoire), en combinant find et grep est le moyen le plus flexible :

cd /
find ~/temp -iname '*.log' -type f -exec grep somethingtosearch '{}' \;

Linux
  1. Comment changer le chemin du fichier journal auditd /var/log/audit/audit.log

  2. Comment grep avec la sortie couleur

  3. Comment "grep" un flux continu ?

  4. Comment créer un fichier sous Linux à partir de la fenêtre du terminal ?

  5. Comment supprimer un fichier portant ce nom sous Linux :-]???????q

Comment trouver une chaîne dans un fichier sous Linux

Comment grep \n dans le fichier

Comment remplir un fichier avec FF en utilisant dd ?

Comment obtenir un fichier avec un nom correct lors de la redirection ?

Comment puis-je rechercher un fichier par son nom et son chemin partiel ?

Comment grep ps sortie avec des en-têtes