grep Teilstring zwischen zwei Trennzeichen
Habe ich eine Menge bash
Schriften, die perl
Ausdrücke innerhalb grep
extrahieren einer Teilzeichenfolge zwischen zwei Trennzeichen. Beispiel:
echo BeginMiddleEnd | grep -oP '(?<=Begin).*(?=End)'
Das problem ist, wenn ich portiert diese Skripte auf einer Plattform mit busybox
, 'integriert' grep
nicht erkennt -P-Schalter. Gibt es eine saubere Art und Weise, dies zu tun mit grep
und regular expressions
?
Bearbeiten:
Es gibt keine perl
, sed
oder awk
auf dieser Plattform. Es ist ein leichtes linux
.
Gibt es einen Grund, dass Sie nicht verwenden können Perl?
es gibt keine
es gibt keine
perl
auf dieser Plattform, nur die grundlegenden Werkzeuge, vor allem diejenigen aus busybox
InformationsquelleAutor Ulrik | 2014-10-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt, es ist nicht mehr als ein vorkommen pro Zeile, die Sie verwenden können,
Mit grep und nicht gieriger Quantifizierer, die Sie könnte auch Druck von mehr als einer pro Zeile.
InformationsquelleAutor Vytenis Bivainis
Können Sie
awk
mit custom-field-separator, wie diese, um dieselbe Ausgabe:InformationsquelleAutor anubhava
Verwenden
bash
built-in-parameter-substitution:Viele weitere Beispiele hier.
InformationsquelleAutor Mark Setchell