Mit sed entfernen Sie Zeilen, bis das Ende der Datei
Ich bin mit sed -n '/[test1]/,/[test2]/{/[test2]/!p}' test.txt > temp.txt
..das funktioniert gut, wenn ich will nur die top-Auswahl, aber ich bin nach dem unteren Abschnitt.
[test1]
A
B
C
[test2]
1
2
3
Aber ich bin nach [test2] ab, so Kopieren [test2] bis zum Ende der Zeile. So produziert eine Ausgabe wie so,
[test2]
1
2
3
- Ich denke, es gibt einen grep-option, die Ausgänge nur die Nummer der Zeile. Bearbeiten Sie und schicken Sie Sie bis zum Schwanz vielleicht?
- Aber was genau ist die erwartete Ausgabe von oben genannten Datei? Willst du einfach nur die Ausgabe, wie Sie schrieb, im unteren Bereich Ihrer Frage.
sed -n '/\[test2\]/,$p'
ist, was Sie suchen für wahrscheinlich.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diesen Befehl ausprobieren:
Bearbeiten:
Mit extended regular expression flag(
-r
),sed -n '/test2/,$p' < /tmp/file
Ja,
grep -n
ausgegeben wird die Nummer der Zeile und match -, und Verarbeitung ist es, ich kam mit der folgendenso eine Katze für die neue Datei erzeugt die folgenden:
btw
| bash
leitet formatierte Befehl Linien mit
awk
zubash
um Sie auszuführen,