Pourquoi ne pas grep travail si un fichier n'est pas spécifié?
J'ai un problème avec Linux, la commande grep, ça ne marche pas !!!
Je suis en train d'essayer le test suivant sur mon système Ubuntu:
- J'ai créer le dossier suivant:
/home/andrea/Scrivania/prova
- À l'intérieur de ce dossier que j'ai créé un fichier txt nommé prova.txt et à l'intérieur de ce fichier, j'ai écris la chaîne
test
et j'ai enregistrer - Dans la coquille j'ai d'abord accéder au dossier
/home/andrea/Scrivania/prova
et j'ai donc lancé la commande grep de la manière suivante:~/Scrivania/prova$ grep test
Le problème est que le curseur continue à clignoter sans arrêt et de ne RIEN trouver! Pourquoi? Quel est le problème?
OriginalL'auteur AndreaNobili | 2012-11-21
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas fourni les fichiers pour la commande grep pour analyser
grep "test" *
ou récursive de
grep -r "test" *
OriginalL'auteur Rawkode
Parce que grep recherche dans l'entrée standard si aucun fichier n'est donné. Essayez cette.
OriginalL'auteur Joshua
Vous n'exécutez pas la commande que vous recherchez.
grep test *
va cherchertest
dans tous les fichiers dans votre répertoire courant.grep test prova.txt
va cherchertest
spécifiquement dansprova.txt
(
grep test
seragrep
latest
chaîne dansstdin
, et ne reviendra pas avantEOF
.)OriginalL'auteur Julien Vivenot
Vous devez tuyau en quelque chose à grep - vous ne pouvez pas simplement appeler grep test sans autres arguments que c'est en fait à ne rien faire. essayez
grep test *
Une autre utilisation de la commande grep est à la pipe dans une commande
par exemple, C'est mon répertoire home:
Si je lance
- Je obtenir le résultat
n'oubliez pas de pipe la commande grep
^D
(Ctrl-d) sur une ligne vide à la fin du flux d'entrée standard et grep.OriginalL'auteur Oliver Atkinson
Partir de la page de manuel de grep:
Si vous ne fournissez pas de nom de fichier(s) pour qu'il utilise, il va essayer de lire depuis l'entrée standard.
Essayer
grep test *
OriginalL'auteur WildCrustacean
Comme par GNU Grep 3.0
Donc pour des OP de commande, sans autre spécification,
grep
essaie de recherche sur l'entrée standard, qui n'est pas réellement fourni.Une approche simple est
grep -r [pattern]
, comme ci-dessus, pour spécifier la récursivité avec-r
et de recherche dans le répertoire courant et ses sous-répertoires.Également noter que le générique
*
inclut uniquement les fichiers, pas les répertoires. Si elle est utilisée, un message peut être affiché pour astuce:OriginalL'auteur themefield