Ist es möglich, eine relativ große Zeichenfolge zu übergeben, grep
oder kann nur eine Datei akzeptiert werden?
Beachten Sie, dass ich nicht über die Weiterleitung der Ausgabe an grep spreche, sondern etwa Folgendes tue:
grep 'hello' 'hello world'
(was natürlich nicht geht, jedenfalls nicht so)
grep
? Also wird vielleicht so etwas wieprintf "various\ntext to grep here" | grep "text"
"Text, der hier grep" produziertAntworten:
Es ist möglich. Versuche dies:
Sie können stattdessen auch eine Variable übergeben, die eine Zeichenfolge enthält:
quelle
grep
Es gibt keine Option, die Befehlszeilenargumente als zu durchsuchenden Text zu interpretieren. Der normale Weg zugrep
einem String besteht darin, den String ingrep
die Standardeingabe zu leiten:Wie Sie hier sehen, können Sie
echo
Zeichenfolgen verwenden, die mehr als eine Textzeile enthalten. Sie können sie sogar interaktiv in die Shell eingeben, wenn Sie möchten.Wenn dies nicht Ihren Anforderungen entspricht, könnten Sie vielleicht erklären, warum Rohrleitungen keine akzeptable Lösung sind?
quelle
Pipe es in
grep
Warum nicht einfach:
Siehe auch: /programming/2106526/how-can-i-grep-complex-strings-in-variables
quelle