Объединение нескольких строк на основе значения одного столбца

О, ничего! columnделает это:

column fотображает разделенные новой строкой элементы в файле fв столбцах, что имеет тот же эффект, что и lsдля каталога.

0
22.03.2020, 15:55
2 ответа

С перлом:

$ perl -lane 'push @{$vals{$F[4]}}, @F[0..3];
              END { $, = " "; for $v (sort keys %vals) { print @{$vals{$v}}, $v } }' input.txt
9 4 2 4 9 2 2 2 1
3 1 10 1 6

С awk:

$ awk '{vals[$5] = vals[$5] $1 " " $2 " " $3 " " $4 " "}
       END { for (v in vals) print vals[v] v }' input.txt
9 4 2 4 9 2 2 2 1
3 1 10 1 6
2
28.04.2021, 23:19

Пробовал использовать команду «Нижний», все работает нормально

  awk 'NR<3{$5="";print $0}' filename > o1

     o=`awk 'NR==1{print $NF}' filename`

    awk 'NR==3{print $0}' filename| sed '1i '$o''  > o2

    paste o1 o2| sed -r "s/\s+/ /g"
0
28.04.2021, 23:19

Теги

Похожие вопросы