grep
werden die Zeilen in einer Datei zurück, die einem bestimmten Muster entsprechen:Wie kann ich die Definition von "Linie" in Grep ändern?
grep pattern file
Wird durch Datei suchen und zurückgeben alle Linien passende Muster.
Mein Code-Basis hat viele mehrzeiligen Aussagen, wie:
int x = somefunc(a,
b,
10,
someclass(10),
foo,
bar);
Ich möchte die gesamte Anweisung in der Lage meine Datei grep
und zurück, nicht nur die Linie. Zum Beispiel, wenn ich alle Anrufe somefunc
mag, dass die foo
verwenden, könnte ich tun:
grep -e 'somefunc.*foo' filename
und den gesamten Funktionsaufruf erhalten, die ich Rohr für die weitere Verarbeitung in zu einem anderen Programm kann:
grep -e 'somefunc.*foo' filename | grep -v bar
Im Wesentlichen möchte ich grep
sagen, dass meine Zeilen mit ;
und nicht mit EOL
enden.
Ich kann die -C
, -A
oder -B
Schalter nicht verwenden, da ich nicht immer weiß, wie viele Zeilen in der Anweisung sein werden.
int x = somefunc(a, b,
10, someclass(10),
foo, bar);
Gibt es eine Möglichkeit, dies mit grep
oder einem anderen gemeinsamen Tool zu tun: Zum Beispiel könnte das obige Beispiel wie folgt geschrieben werden?
Hallo Nathan, würdest du bitte irgendeine der folgenden Antworten akzeptieren, die am besten zu deiner Anforderung passen? –
Ich habe es versucht, aber keiner von ihnen war wirklich zufriedenstellend –