J'aimerais trouver tous les fichiers contenant une certaine chaîne de texte. Comment feriez-vous cela dans le terminal?
J'aimerais trouver tous les fichiers contenant une certaine chaîne de texte. Comment feriez-vous cela dans le terminal?
Réponses:
grep -r 'text goes here' path_goes_here
man grep
de découvrir toutes les merveilleuses options de grep
No such file or directory
J'essaie d'obtenir uniquement la liste des occurrences de texte. Comment pouvons-nous obtenir cette liste?
grep -lr "text pattern" ./ -s
; grep -lr "text pattern" [PATH OF PARENT] -s
utiliser les projecteurs
mdfind "text goes here"
mdfind -onlyin /home/user/Desktop -live "live update"
n'oubliez pas de regarder:
man mdfind
brew install ack
ack "text goes here"
find . |grep "text goes here"
grep -RnslI "text goes here"
Vous pouvez choisir l’un des choix ci-dessous en fonction de vos goûts et de vos besoins. En supposant que vous ayez besoin de rechercher des fichiers contenant du texte - "asynchrone", 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 lors de l'exécution de cette commande, tous les fichiers étaient répertoriés, y compris celui pour lequel 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 motif.
Si au lieu de cela 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 contenant le motif.
De même si grep -nr "text pattern" ./ -s
; grep -nr "text pattern" [PATH OF DIRECTORY] -s
Cette commande est utilisée, elle affiche le fichier ainsi que le numéro de ligne et l'occurrence du motif.
S'il vous plaît corrigez-moi si ma compréhension est fausse.
grep ... 2>/dev/null
. Cette solution fonctionne pour la plupart des programmes, car ils signalent des messages d'erreur sur le flux stderr, et non sur stdout. J'ai utilisé cette solution à plusieurs reprises avec find
, comme il sera dit, une autorisation refusée pour de nombreux fichiers.
No such file or directory
messages pour des fichiers existants, soit vous faites quelque chose de mal, soit votre système est en panne. (2) Qu'est-ce qui [PATH OF PARENT]
a à voir avec quoi que ce soit?
[PATH OF DIRECTORY]
que quelqu'un qui ne connaissait pas bien voulait savoir pourquoi j'avais mis./