Wie kann ich mit Textverarbeitungswerkzeugen nach jeweils N Zeilen eine neue Zeile einfügen?
Beispiel für N = 2:
EINGANG:
sadf
asdf
yxcv
cxv
eqrt
asdf
AUSGABE:
sadf
asdf
yxcv
cxv
eqrt
asdf
text-processing
LanceBaynes
quelle
quelle
[[ ]]
zu Test:while read line; do echo "$line"; ((lines++ % 2)) && echo; done
.sed '0~2 a\ '
Beachten Sie, dass der oben dokumentierte Befehl jeder eingefügten Zeile ein Leerzeichen hinzufügt. Wenn Sie wollten eine neue Zeile nach jeder Zeile hinzufügen, jede dieser ähnlich Arbeit:sed '0~1 a\ '
,sed 'a\ '
, oder einfach nursed G
.Verwenden
paste
quelle
... ist alles, was du brauchst ...
Beispielsweise:
AUSGABE:
... (und auf die 6 folgt auch ein Leerzeichen) ... oder ...
AUSGABE:
(und nach der 5 folgt kein Leerzeichen)
Wenn in der letzten Zeile immer ein Leerzeichen weggelassen werden soll:
quelle
Ein weiterer Geschmack von awk:
quelle
sed (GNU)
Mit (GNU)
sed
:Kurz (hässlich für N = 100):
man sed erklärt ~ als:
sed (andere)
Mit anderen sed (Neue Zeilen zählen):
Oder, um portabler zu sein, geschrieben als (Kommentare für einige Versionen von sed entfernen):
awk
Mit
awk
wahrscheinlich:quelle