탭으로 구분된 열이 있는 두 개의 파일이 있는데 이를 병합하고 싶습니다.
파일 a01
a= b=
c= d=
e= f=
g= h= i=
j= k= l=
m= n= 0=
파일 b01
1 2
3 4
5 6
7 8 9
10 11 12
13 14 15
원하는 출력
a=1 b=2
c=3 d=4
e=5 f=6
g=7 h=8 i=9
j=10 k=11 l=12
m=13 n=14 0=15
하지만 명령을 실행하면
join a01 b01
아무것도 반환하지 않습니다
제가 뭘 잘못하고 있는지 모르겠네요
미리 감사드립니다
답변1
join
이것은 명령이 전혀 작동하는 방식이 아닙니다 .철사공통(일치하는 필드)을 기반으로 합니다. 입력 파일에 필드가 없습니다.
paste
다음을 사용하여 비슷한 작업을 수행할 수 있습니다 awk
.
paste a01 b01 | awk '{n=NF; for (i=n/2;i>0;i--) {$i = $i""$(i+n/2); NF--}} 1'
a=1 b=2
c=3 d=4
e=5 f=6
g=7 h=8 i=9
j=10 k=11 l=12
m=13 n=14 0=15
답변2
또 다른 가능한 awk
해결책:
paste a01 b01 | awk '{ for (i=1; i<=NF/2; i++) printf $i $(i+NF/2) (i==int(NF/2) ? RS:FS) }'