Est-il possible de passer une chaîne relativement volumineuse à grep
ou ne peut-il accepter qu'un fichier?
Notez que je ne parle pas de canaliser la sortie vers grep, mais de faire quelque chose comme:
grep 'hello' 'hello world'
(ce qui bien sûr ne fonctionne pas, du moins pas comme ça)
grep
? Alors peut-être que quelque chose comme çaprintf "various\ntext to grep here" | grep "text"
produira du "texte à grep ici"Réponses:
C'est possible. Essaye ça:
Vous pouvez également passer une variable contenant une chaîne à la place:
la source
grep
n'a pas la possibilité d'interpréter ses arguments de ligne de commande comme du texte à rechercher. La manière normale d'accéder àgrep
une chaîne consiste à diriger la chaîne versgrep
l'entrée standard de:Comme vous le voyez ici, vous pouvez
echo
utiliser des chaînes contenant plusieurs lignes de texte. Vous pouvez même les saisir de manière interactive dans le shell, si vous le souhaitez.Si cela ne répond pas à vos besoins, vous pourriez peut-être expliquer pourquoi la tuyauterie n'est pas une solution acceptable?
la source
Pipe dans
grep
Pourquoi pas seulement:
Voir également: /programming/2106526/how-can-i-grep-complex-strings-in-variables
la source