두 개의 파일이 있다고 가정해 보겠습니다.
// foo
a
b
c
d
// bar
x,y,z
p,d,q
문제는 다음과 같습니다
paste -d ',' foo bar
...
a,x,y,z
b,p,d,q
c
d
대신에 나는 (어쨌든) 다음을 생성하고 싶습니다:
a,x,y,z
b,p,d,q
그러나 현재 내가 볼 수 있는 유일한 방법은 최소 파일의 줄 수를 확인하고 잘린 파일에 붙여넣기를 실행하는 작은 프로그램을 작성하는 것입니다.
최악의 경우, 빠른 스크립팅과 민첩성을 위해 명령줄을 "단순"하게 유지하기 위해 컴파일된 홈브류 도구를 작성해야 합니다.
기존 도구를 사용하여 이를 수행할 수 있는 방법이 있어야 하는데 방법을 모르겠습니다. 이 보수적인 붙여넣기 작업을 수행할 수 있는 방법이 있습니까?
지금까지 가장 좋은 해결책은 다음과 같습니다.
paste -d ',' foo bar | awk -F ',' '{if(NF > 2){print $0}}'
답변1
노력하다
$ awk -F, 'FNR == NR {T[NR] = $0; next} {$0 = T[FNR] OFS $0} NF == 4' OFS=, file[12]
a,x,y,z
b,p,d,q