Hier in meinemEINGANG:
0015:"IDPTS3O" 0091:"ODMBS1I" 0015:"IDPTS3O" 0091:"ODMBS1I" 0015:"IDPTS3O" 0091:"ODMBS1I" 0015:"IDPTS3O" 0034:"ADTSS1I" 0015:"IDPTS3O" 0034:"ADTSS1I" 0015:"IDPTS3O" 0034:"ADTSS1I" 0015:"IDPTS3O" 0036:"ADTSS2I" 0015:"IDPTS3O" 0036:"ADTSS2I" 0015:"IDPTS3O" 0036:"ADTSS2I" 0015:"IDPTS3O" 0034:"ADTSS1I" 0015:"IDPTS3O" 0034:"ADTSS1I" 0015:"IDPTS3O" 0034:"ADTSS1I" 0015:"IDPTS3O" 0036:"ADTSS2I" 0015:"IDPTS3O" 0036:"ADTSS2I" 0015:"IDPTS3O" 0036:"ADTSS2I"
Ich möchte dieAUSGABEwird wie folgt angezeigt: Das "Ö" zusammen enden und die "ICH" Endungen zusammen in der gleichen Spalte
0015:"IDPTS3O" 0091:"ODMBS1I" 0015:"IDPTS3O" 0091:"ODMBS1I" 0015:"IDPTS3O" 0091:"ODMBS1I" 0015:"IDPTS3O" 0034:"ADTSS1I" . . .
Antwort1
Der Befehlpaste
kombiniert Linien ausmehrere Eingabedateienin eine Datei mit mehreren Spalten, eine aus jeder Datei.
Damit lassen sich Linien kombinieren vondas gleicheDatei in eine Datei mit mehreren Spalten, sodass aufeinanderfolgende Zeilen in der Ausgabe in aufeinanderfolgenden Spalten enden.
Die Idee besteht darin, für jede Zeile eine Eingabe mehrfach zu verwenden, anstatt mehrere Eingaben.
Dies geschieht am besten, indem man von der Standardeingabe liest und -
, das die Standardeingabe als Eingabedatei darstellt, mehrfach verwendet:
<filename paste -d ' ' - -
<filename
liestfilename
auf Standardeingabe-d ' '
Legt als Spaltentrennzeichen ein Leerzeichen statt des Standard-Tabulators fest.- -
stellt zweimal die Standardeingabe als Eingabedatei eins und zwei dar, daher wird für jede Zeile die Standardeingabe zweimal gelesen, wodurch die erste und zweite Spalte erstellt werden.
Antwort2
Während die kanonische Art, dieses Problem zu lösen paste
, darin besteht, biete ich hier eine awk
Alternative an, bei der der Ausgabedatensatztrenner auf ein Leerzeichen bei ungeraden und ein Zeilenumbruch bei geraden Zeilen eingestellt wird.
awk '{ORS=NR%2?" ":"\n";print}' file
Antwort3
Probieren Sie es gerne aus:
paste -d " " - - < filename