설명

리눅스에서 여러 파일의 각 줄을 옆으로 병합하는 데 사용되는 유틸리티이다.
주로 두 개 이상의 파일을 가로로 붙여서 새로운 형식의 데이터를 만드는 데 사용되며, 각 파일의 동일한 줄을 탭으로 구분하여 결합합니다.
CSV 형식의 데이터를 처리할 때 유용하다.

1
2
3
4
5
6
#!/bin/zsh

# paste [option] [file1] [file2] ...
# -d () -s () -o () -e ()

paste -d "," file1 file2 # 각 줄을 콤마(',')로 구분하여 병합한다.

한 파일에서 여러 줄 병합

1
2
3
#!/bin/zsh

paste -s file # 모든 줄을 가로로 이어 붙인다.

join-01.png

설명

join 리눅스에서 두 개의 파일을 공통 필드를 기준으로 병합하는 유틸리티이다.
관계형 데이터베이스의 “JOIN” 연산과 유사하게, 두 파일에 있는 특정 필드를 기준으로 결합하여 새로운 데이터를 생성할 수 있다.

1
2
3
#!/bin/zsh

join [option] file1 file2

join-01.png

출력 형식 지정

1
2
3
#!/bin/zsh

join -o 1.1,1.2,2.2 file1 file2 # 첫 번째 파일의 첫 번째 필드, 두 번째 필드, 두 번째 파일의 두 번째 필드를 출력한다.

비어 있는 필드에 기본값 지정

1
2
3
#!/bin/zsh

join -e "없음" file1 file2 # 일치하지 않는 경우 출력할 때 빈 필드 대신 기본값 지정