sed -n '1~4p;2~4p'
1~4p
trifft auf jede 4. Zeile, beginnend mit der 1.:
line 1 line 5 line 9 …
2~4p
trifft auf jede 4. Zeile, beginnend mit der 2.:
line 2 line 6 line 10 …
Wenn sie zusammen verwendet werden, tun sie, was Sie wollen.
Meine Datei enthält mehrere Zeilengruppen. Jeder Satz hat 4 Zeilen. Zeile 1-4 ist eingestellt 1. Zeile 5-8 ist auf 2 eingestellt und so weiter. Ich muss die ersten beiden Zeilen aus jedem Satz drucken, dh Zeile 1 und 2, Zeile 5 und 6 usw.
Dateiinhalt:
line 1 line 2 line 3 line 4 line 5 line 6 line 7 line 8 .. line n
sed -n '1~4p;2~4p'
1~4p
trifft auf jede 4. Zeile, beginnend mit der 1.:
line 1 line 5 line 9 …
2~4p
trifft auf jede 4. Zeile, beginnend mit der 2.:
line 2 line 6 line 10 …
Wenn sie zusammen verwendet werden, tun sie, was Sie wollen.
Ich denke nicht, dass sed
das Werkzeug der Wahl hier ist - warum nicht einfach Shell-Script?
cat /path/to/infile | while true; do read l || break ; echo "$l" ; read l || break ; echo "$l" ; read l || break ; read l || break ; done > /path/to/outfile