각 파일에 대해 한 열에 데이터가 있는 두 파일을 하나로 병합하는 방법은 무엇입니까? [복사]

각 파일에 대해 한 열에 데이터가 있는 두 파일을 하나로 병합하는 방법은 무엇입니까? [복사]

두 개의 파일이 있습니다.

파일 1에는 다음이 포함됩니다.

1
2
3
4

파일 2에는 다음이 포함됩니다.

John
Sam
George
Ken

이 파일들을 결합하여 파일(file3)을 만들고 싶습니다.

1, John
2, Sam
3, George
4, Ken

내 생각은 중첩 루프를 사용하고 각 행에 쉼표를 추가하는 것입니다.

for x in file1
do
echo "$x" >> file3
for y in file2
echo ",$y" >> file3
done
done

사용해야 하는 명령이 있나요? 두 파일의 각 항목에 대해 x와 y를 한 줄에 표시하려면 어떻게 해야 합니까?

답변1

당신은 그것을 사용할 수 있습니다반죽:

$ :|paste -d',' file1 - | paste -d' ' - file2
1, John
2, Sam
3, George
4, Ken

또는:

$ :|paste -d', ' file1 - file2

인수 -d', '는 각 파일의 내용 사이에 구분 기호로 쉼표와 공백을 사용하도록 지정합니다.

답변2

또 다른 paste솔루션

paste -d ', ' file1 /dev/null file2
1, John
2, Sam
3, George
4, Ken

답변3

sed 's/$/, /' file1 | paste -d '\0' - file2

답변4

다음을 시도해 볼 수 있습니다.

paste -d, file1 file2 > file3

출력(파일 3):

1,John
2,Sam
3,George
4,Ken

관련 정보