Zum Beispiel verwenden, ich habe eine Datei test_sed
genannt, es Inhalt ist, ist wie folgt:Wie zum Einfügen von Text „sed -e“
abc
def
ghi
jkl
Ich mag Inhalt einzufügen, zum Beispiel „Hallo Welt“, wenn Es gibt drei aufeinanderfolgende Zeilen wie abc\ndef\nghi
. Also benutze ich sed -f test.sed test_sed
. Das Skript test.sed
wie unten geschrieben:
:begin
/abc/,/ghi/ {
/ghi/! {
$! {
N;
b begin
}
}
/abc.*ghi/a hello world
}
Und es funktioniert. Aber wenn ich es so in der Befehlszeile schreibe:
Es funktioniert nicht und ich weiß nicht, wie man es korrigiert.
Ich verstehe die Frage nicht wirklich. Möchten Sie nur Text in die dritte Zeile einfügen? Wenn das der Fall ist, können Sie Folgendes tun: 'sed -n 'p; 3a" Hallo Welt "' yourfile' – NullDev
@NullDev Ich denke, OP möchte drei aufeinanderfolgende Zeilen übereinstimmen – Sundeep
Ja, @Sundeep ist richtig – Lianshuai