Linux / 명령어 / paste - 파일의 행을 가로로 결합

paste는 여러 파일에서 같은 순서의 행을 가져와 한 행으로 나란히 붙입니다. 기본 구분자는 탭이며, 세로로 쌓인 값을 한 줄로 바꾸는 데도 사용할 수 있습니다.

paste 명령어란?

cat이 파일 내용을 위아래로 이어 붙이는 것과 달리 paste는 첫째 행끼리, 둘째 행끼리 대응시킵니다. 파일 길이가 다르면 부족한 쪽은 빈 필드로 채워집니다.

기본 문법

paste [옵션] [파일 ...]

설치된 구현과 옵션은 배포판에 따라 다를 수 있습니다. man paste으로 현재 시스템의 설명을 확인하세요.

사용 예제

두 파일을 열로 결합

첫 파일의 각 행 옆에 두 번째 파일의 대응 행을 붙입니다.

paste names.txt scores.txt

구분자 지정

탭 대신 콜론으로 두 파일의 값을 구분합니다.

paste -d ':' names.txt scores.txt

한 파일을 한 행으로 바꾸기

-s는 파일을 연속해서 읽으며 행을 가로로 붙입니다.

paste -s -d ',' names.txt

두 입력의 같은 줄을 합치기

두 파일의 첫째 줄끼리, 둘째 줄끼리 나란히 놓는 명령입니다. 아래 예제는 Bash의 프로세스 치환을 이용하므로 실제 파일을 만들지 않습니다.

paste -d, <(printf 'Ana\nBob\n') <(printf '7\n12\n')

예시 출력:

Ana,7
Bob,12

paste는 같은 키를 검색하는 join과 다르게 줄 위치만 맞춥니다. 한쪽 입력의 줄 수가 더 적으면 부족한 칸은 빈 값으로 채워집니다. POSIX 셸처럼 프로세스 치환을 지원하지 않는 환경에서는 두 입력을 임시 파일로 준비하세요.

주요 옵션과 형식

옵션·형식 설명
-d 목록 붙이는 위치에 사용할 구분자를 지정합니다.
-s 파일별 행을 순차적으로 한 줄에 결합합니다.
- 표준 입력을 파일 인수 자리에 사용합니다.

사용할 때 주의할 점

두 파일의 대응 행이 같은 대상을 가리키는지 먼저 확인하세요. 행 순서가 다르면 잘못된 값이 나란히 붙어도 오류가 나지 않습니다. 공통 키로 행을 연결해야 한다면 정렬 조건을 확인한 뒤 join을 사용합니다.

자주 묻는 질문

paste와 join의 차이는 무엇인가요?

paste는 행 번호대로 붙이고, join은 공통 필드의 값이 같은 행을 연결합니다.

공식 문서

옵션의 정확한 동작과 구현별 차이는 paste 관련 공식 문서에서 확인할 수 있습니다.

같은 카테고리의 다른 글
Linux / 명령어 / rpm - RPM 패키지와 설치 데이터베이스 조회

Linux / 명령어 / rpm - RPM 패키지와 설치 데이터베이스 조회

Linux rpm 명령어의 적용 배포판과 기본 작업을 설명합니다. 패키지 조회·설치 예제, 주요 옵션과 시스템 변경 시 주의점을 알아봅니다.

Linux / 명령어 / ip - 인터페이스·주소·라우팅 상태와 설정

Linux / 명령어 / ip - 인터페이스·주소·라우팅 상태와 설정

Linux ip 명령어의 기능과 기본 문법을 설명합니다. 실제 사용 예제, 주요 옵션과 작업 전 확인할 점을 알아봅니다.

Linux / 명령어 / apt-get - APT 패키지 작업을 스크립트와 명령행에서 실행

Linux / 명령어 / apt-get - APT 패키지 작업을 스크립트와 명령행에서 실행

Linux apt-get 명령어의 적용 배포판과 기본 작업을 설명합니다. 패키지 조회·설치 예제, 주요 옵션과 시스템 변경 시 주의점을 알아봅니다.

Linux / 명령어 / chgrp - 파일 소유 그룹 변경

Linux / 명령어 / chgrp - 파일 소유 그룹 변경

Linux chgrp 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / sort - 텍스트 행 정렬

Linux / 명령어 / sort - 텍스트 행 정렬

Linux sort 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / whereis - 명령의 바이너리·소스·매뉴얼 위치 찾기

Linux / 명령어 / whereis - 명령의 바이너리·소스·매뉴얼 위치 찾기

Linux whereis 명령어로 프로그램의 바이너리, 소스와 매뉴얼 페이지 위치를 찾는 방법을 설명합니다. 검색 범위 제한과 which·find와의 차이도 정리합니다.

Linux 강좌 / 사용자·그룹과 파일 소유권 이해하기

Linux 강좌 / 사용자·그룹과 파일 소유권 이해하기

UID, GID, 기본·추가 그룹과 파일 소유권의 의미를 설명합니다. id, groups, getent, ls, stat으로 현재 계정과 파일의 소유 정보를 안전하게 확인합니다.

Linux / 리눅스 역사 - 1991년 취미 프로젝트가 세계 인프라가 되기까지

Linux / 리눅스 역사 - 1991년 취미 프로젝트가 세계 인프라가 되기까지

리눅스는 1991년 시작된 커널 프로젝트에서 서버·클라우드·모바일을 떠받치는 기반 기술로 성장했습니다. UNIX와 GNU의 배경부터 배포판과 공동 개발 생태계의 확장까지 핵심 연표로 정리합니다.

Linux / 명령어 / paste - 파일의 행을 가로로 결합

Linux / 명령어 / paste - 파일의 행을 가로로 결합

Linux paste 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.

Linux / 명령어 / chown - 파일 소유자와 그룹 변경

Linux / 명령어 / chown - 파일 소유자와 그룹 변경

Linux chown 명령어의 기본 문법과 실제 사용 예제를 설명합니다. 주요 옵션과 결과를 해석할 때 주의할 점을 확인할 수 있습니다.