Comment trouver les fichiers contenant un certain texte dans le Terminal
Je voudrais trouver tous les fichiers qui contiennent une certaine chaîne de texte. Comment faire dans le Terminal ?
grep -r 'text goes here' path_goes_here
brew install ack
ack "text goes here"
find . |grep "text goes here"
grep -RnslI "text goes here"
Vous pouvez choisir l'une des options ci-dessous en fonction de vos goûts et de vos besoins. Supposons que vous ayez besoin de rechercher des fichiers contenant du texte - “async”, de manière récursive dans le répertoire courant, vous pouvez le faire de l'une des façons suivantes :
La réponse d'Ignacio est excellente et m'a aidé à trouver les fichiers contenant certains textes. Le seul problème auquel je faisais face était que lorsque j'exécutais cette commande, tous les fichiers étaient listés, y compris un fichier où le modèle n'apparaissait pas.
No such file or directory
C'est ce que je vois à côté des fichiers qui ne contiennent pas le modèle. Si, à la place, vous ajoutez -s
à la commande, comme dans:grep -lr "text pattern" ./ -s
; grep -lr "text pattern" [PATH DIRECTORY] -s
est utilisé, il ne vous montrera que les fichiers qui contiennent le modèle.
De même, si la commande grep -nr "text pattern" ./ -s
; grep -nr "text pattern" [PATH OF DIRECTORY] -s
est utilisée, elle affiche le fichier plus le numéro de ligne, et l'occurrence du modèle.
Veuillez me corriger si ma compréhension est erronée. Référence : Comment puis-je faire en sorte que grep n'imprime pas les erreurs “No such file or directory” ?