Wie kann ich die folgende Ausgabe neu anordnen oder neu ordnen?

Wie kann ich die folgende Ausgabe neu anordnen oder neu ordnen?

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 Befehlpastekombiniert 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 ' ' - -
  • <filenameliest filenameauf 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 awkAlternative 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

verwandte Informationen