열 값으로 CSV 파일 전치

열 값으로 CSV 파일 전치

입력하다:

X Y
1 11
1 12
2 21
2 22

원하는 출력:

11 12
21 22

CSV 파일을 열 1의 값으로 바꾸고 싶습니다. 이 예에서는 X = 1인 경우 (11, 12)^T를 (11, 12)로 바꾸고, X = 2인 경우 (21, 22)^T를 (21, 22)로 바꿉니다.

답변1

진주

perl -lane '
    push @{$rows{$F[0]}}, $F[1] if $. > 1
  } END {
    $, = " ";
    print @{$rows{$_}} for (sort keys %rows);
' file

awk, 입력이 열 1에 정렬되어 있다고 가정합니다.

awk '
    NR == 1 {next}
    NR == 2 {key = $1} 
    $1 != key {print ""; key = $1} 
    {printf "%s ", $2} 
    END {print ""}
' file

관련 정보