해당 행에 두 파일을 병합하는 방법은 무엇입니까?


9

이제 두 개의 파일이 있습니다.

aaaa.txt:

a=0;
b=1;
c=2;

bbbb.txt:

d=3
e=4
f=5

나는 병합 할 aaaa.txtbbbb.txtcccc.txt.

cccc.txt 다음과 같이:

a=0;d=3
b=1;e=4
c=2;f=5

그래서 이것을 위해 무엇을 할 수 있습니까?

답변:


13

이를 위해 페이스트를 사용할 수 있습니다.

paste -d '\0' aaaa.txt bbbb.txt > cccc.txt

귀하의 질문에 따르면 첫 번째 파일 ;의 끝에 포함 된 것으로 보입니다 . 그렇지 않은 경우 -d ';'대신이 를 사용하여 구분 기호로 사용할 수 있습니다 .

생각할 수있는 것과 달리 -d '\0'NUL 문자를 구분 기호로 붙여 넣지 않고 빈 구분 기호로 붙여 넣습니다. 이것이 빈 분리 문자를 지정하는 표준 방법입니다. pasteGNU와 같은 일부 구현은이를 paste허용 paste -d ''하지만 표준이나 이식성이 아닙니다 (다른 구현에서는을 사용하면 누락 된 구분 기호에 대한 오류를보고합니다 paste -d '').


@ Chris Down-대단히 감사합니다, 작동합니다. 그런데 다른 질문 : awk '{sed's /.*,/ 999 / g '}'cccc.txt awk를 반환하는 이유 : {sed s /.* , / 999 / g} awk : ^ 구문 오류. 무슨 일이야?
binghenzq

나는 당신이 무엇을 하려는지 완전히 확신하지 못하지만, sed를 그런 식으로 awk에 전달할 수는 없습니다.
Chris Down

@ Chris Down-Thans, 알겠습니다.
binghenzq 5

별도의 질문도 함께하십시오. 그것은 나중에 사용자에게 유용합니다 (찾을 수 있습니다!).
vonbrand
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.