2014-07-07 3 views
0

텍스트 파일이 있습니다.행 쌍을 단일 행으로 배열하십시오.

4IGL A 1488 
4IGL B 690 
4IU2 A 212 
4IU2 B 243 
4IYP B 222 
4IYP C 151 

행의 쌍을 한 줄로 배열하고 싶습니다. 어떻게하면 awk로 이것을 할 수 있습니까?

원하는 출력

4IGL A 1488 B 690 
4IU2 A 212  B 243 
4IYP B 222  C 151 

답변

1

이 그것을 수행해야합니다

awk 'NR%2==1 {line=$0; next} {printf("%-20s%-4s%s\n", line, $2, $3)}' file 

이것은 당신이 보여준 것처럼 선이 같은 첫 번째 필드와 쌍으로 나타나는지, 어떤이 있다고 가정 빈 줄. 사용

+0

대단히 감사합니다. – user3810916

0

나오지 :

sed -n 'N;s/\r*\n[^ ]*//p' input 

을 제공합니다 :

4IGL A 1488 B 690 
4IU2 A 212 B 243 
4IYP B 222 C 151 

당신은 더 나은 모습을 위해 열 명령을 추가 할 수 있습니다

sed -n 'N;s/\r*\n[^ ]*//p' input | column -t 

을 생산 :

4IGL A 1488 B 690 
4IU2 A 212 B 243 
4IYP B 222 C 151 
관련 문제