web-dev-qa-db-fra.com

Comment trouver des fichiers avec certains textes dans le terminal

J'aimerais trouver tous les fichiers contenant une certaine chaîne de texte. Comment feriez-vous cela dans le terminal?

149
Svish
grep -r 'text goes here' path_goes_here
256

utiliser les projecteurs

mdfind "text goes here"
mdfind -onlyin /home/user/Desktop -live "live update"

n'oubliez pas de regarder:

man mdfind
26
user46046
  1. À travers Ack

brew install ack ack "text goes here"

  1. À travers trouver

find . |grep "text goes here"

  1. À travers grep

grep -RnslI "text goes here"

10
Anant Gupta

Vous pouvez choisir l’un des choix ci-dessous selon vos goûts et 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 manières suivantes:

Utilisation de grep  enter image description here

Utilisation de ack  enter image description here

3
karthiks

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 vous ajoutez plutôt -s à la commande, procédez comme suit: 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; La commande grep -nr "text pattern" [PATH OF DIRECTORY] -s est utilisée, elle imprime 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.

Référence: Comment puis-je faire en sorte que grep n'imprime pas les erreurs 'Aucun fichier ou répertoire de ce type'?

1
CP3O