아래와 같이 탭으로 구분된 열 텍스트가 있습니다.
A 1 12 13
B 3 4 5
C 6 17 8
D 19 10 11
위의 표를 아래와 같이 변환하려면 어떻게 해야 합니까?
A 1
A 12
A 13
B 3
B 4
B 5
C 6
C 17
.
.
.
답변1
awk를 사용하세요:
$ awk '{for (i=2;i<=NF;i++) print $1,$i}' file
A 1
A 12
A 13
B 3
B 4
B 5
C 6
C 17
C 8
D 19
D 10
D 11
출력을 탭으로 구분하려면 다음 OFS
변수를 사용할 수 있습니다.
$ awk -v OFS='\t' '{for (i=2;i<=NF;i++) print $1,$i}' file
A 1
A 12
A 13
B 3
B 4
B 5
C 6
C 17
C 8
D 19
D 10
D 11