Ich habe eine große Datei und möchte jeweils 50 aufeinanderfolgende Zeilen drucken, die 15. und 25. Zeilen.
sed -n '15,25p' inputfile
Wie man diesen Befehl ändert, um nur die Zeilen 15 und 25 zu drucken und alle 50 Zeilen in der Datei zu durchlaufen.
Akzeptierte Antwort:
awk 'NR % 50 == 15 || NR % 50 == 25'
wäre der naheliegende portable Weg.
Beachten Sie einen GNU sed
Alternative:
sed '15~50b;25~50b;d'
Mit jedem sed
, können Sie immer Folgendes tun:
sed -n 'n;n;n;n;n;n;n;n;n;n;n;n;n;n;p;n;n;n;n;n;n;n;n;n;n;p;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n'
(nächste Zeile 14 Mal erhalten, drucken, nächste Zeile 10 Mal drucken, nächste Zeile 25 Mal drucken, zurück zum nächsten Zyklus (der die fehlende zusätzliche Zeile greift, um 50 zu machen)).