Как мне изменить порядок или перегруппировать вывод ниже?

Как мне изменить порядок или перегруппировать вывод ниже?

Здесь, в моемВХОД:

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"  

Я бы хотелВЫХОДдля отображения следующим образом: "О" заканчиваются вместе и "я"окончания вместе в одном столбце

0015:"IDPTS3O" 0091:"ODMBS1I"
0015:"IDPTS3O" 0091:"ODMBS1I"
0015:"IDPTS3O" 0091:"ODMBS1I"
0015:"IDPTS3O" 0034:"ADTSS1I"
.
.
.

решение1

Командаpasteобъединяет строки изнесколько входных файловв один файл с несколькими столбцами, по одному из каждого файла.

Его можно использовать для объединения линийодинаковыйфайл в файл с несколькими столбцами таким образом, чтобы последовательные строки оказывались в последовательных столбцах на выходе.

Идея заключается в том, чтобы использовать один ввод несколько раз для каждой строки, вместо нескольких вводов.
Лучше всего это сделать, считывая данные со стандартного ввода и используя -, который представляет стандартный ввод как входной файл, несколько раз:

<filename paste -d ' ' - -
  • <filenameсчитывает filenameв стандартный ввод
  • -d ' 'устанавливает разделитель между столбцами на пробел вместо используемого по умолчанию символа табуляции.
  • - -представляет собой двойной стандартный ввод в виде входных файлов один и два, поэтому для каждой строки стандартный ввод считывается дважды, создавая первый и второй столбец.

решение2

Хотя канонический способ решения этой проблемы включает paste, здесь я предлагаю awkальтернативу, в которой разделителем выходных записей является пробел на нечетных строках и символ новой строки на четных строках.

awk '{ORS=NR%2?" ":"\n";print}' file

решение3

Не стесняйтесь попробовать:

paste -d " " - - < filename

Связанный контент