Comment montrer grep résultat avec le chemin d'accès complet ou le nom de fichier
J'ai besoin de savoir le chemin de fichier complet quand je grep
.
- Je utiliser des commandes comme
cat *.log | grep somethingtosearch
Maintenant ce que j'ai besoin de montrer le résultat avec le chemin complet d'où les paires de résultat ont été prises.
Aider quelqu'un?
Vous devez vous connecter pour publier un commentaire.
En supposant que vous avez deux fichiers log dans:
cd C: et d'utilisation:
Il vous donnera une liste comme:
Avez-vous essayé d'utiliser le
-l
drapeau?Ce sera de retour juste les chemins et noms de fichiers, où la recherche a été trouvé, non pas à l'ensemble des lignes où le match a été faite.
Utiliser avec
-r
drapeau de la récursivité.Si vous voulez voir le chemin complet, je le recommande à
cd
dans le répertoire supérieur (de votre disque si vous utilisez windows)Ou sur Linux:
si vous avez vraiment résister sur le nom de votre fichier de filtrage (*.journal) ET que vous souhaitez
recursive
(les fichiers ne sont pas toutes dans le même répertoire), en combinantfind
etgrep
est le moyen le plus souple:Je tombe ici quand je cherchais exactement le même problème et peut-être que ça peut aider les autres.
Je pense que la vraie solution est:
Commande:
Renvoyé de sortie:
pour moi
grep -b "searchsomething" *.log
a fonctionné comme je le voulais
La façon la plus simple pour imprimer des chemins est de remplacer relative chemin d'accès de démarrage avec chemin d'accès absolu:
Il est semblable à BVB Médias's réponse.
Il fonctionne très bien sur mon ubuntu bash.
Utilisation:
et les noms de fichiers seront imprimées avec les allumettes.