paste 명령

용도

서로 다른 파일의 행을 결합합니다.

구문

붙여넣기 [ -s ] [ -d 목록 ] File1. ..

설명

paste 명령은 명령행에 지정된 파일에서 입력을 읽습니다. 파일 이름으로서 -(빼기 부호)가 나타나는 경우, 명령은 표준 입력에서 읽습니다. 이 명령은 제공된 입력 파일의 대응되는 행을 병합하고 결과 행을 표준 출력에 씁니다.

기본적으로, paste 명령은 각 파일을 열로 처리하며 탭 문자를 사용하여 이를 가로로 결합합니다(병렬 병합). paste 명령은 (파일을 세로로 병합하는, 즉 한 파일 뒤에 다른 파일을 병합하는) cat 명령에 상대되는 명령으로 간주될 수 있습니다.

붙여넣기 명령은 -s 플래그를 사용하면 동일한 입력 파일의 후속 줄을 결합합니다(직렬 병합). 이러한 행은 기본적으로 탭 문자와 함께 결합됩니다.

주:
  1. paste 명령은 최대 32767개까지의 입력 파일(OPEN_MAX 상수)을 지원합니다.
  2. pr -t -m 명령의 동작은 붙여넣기 명령과 비슷하지만 멋진 페이지 레이아웃을 위해 추가 공백, 탭 및 줄을 만듭니다.
  3. 입력 파일은 텍스트 파일이어야 하지만, 행 길이에는 제한이 없습니다.

플래그

항목 설명
-d 목록 출력의 대응되는 행을 구분하는 분리 문자를 List 매개변수(디폴트는 탭)에서 지정하는 하나 이상의 문자로 변경합니다. List 매개변수에 둘 이상의 문자가 있는 경우, 이는 출력의 끝까지 차례로 반복됩니다. 병렬 병합에서 최종 파일의 행은 List 매개변수의 문자가 아니라 항상 줄 바꾸기 문자로 종료됩니다.

다음의 특수 문자가 List 매개변수에서 사용될 수도 있습니다.

\n
줄 바꾸기 문자
\t
\\
백슬래시
\0
빈 문자열(널 문자 아님)
c
확장 문자

쉘에 특수한 의미가 있는 문자는 반드시 앞뒤를 인용 부호로 묶어야 합니다.

-s 가로로 첫 번째 파일의 후속 행을 병합합니다. 이 플래그를 사용하는 경우, paste 명령은 다음에서 시작하기 전에 하나의 전체 파일에 대해 작업합니다. 하나의 파일에서 행 병합이 완료되면 줄 바꾸기가 강제 실행된 후에 다음의 입력 파일에서 행을 병합하며, 나머지 입력 파일에 대해서도 한 번에 하나씩 동일한 방법으로 계속 진행됩니다. 탭은 -d 플래그를 사용하지 않는 한 줄을 구분합니다. List 매개변수와는 무관하게 파일의 마지막 문자는 줄 바꾸기 문자가 되도록 강제됩니다.

종료 상태

이 명령은 다음과 같은 종료값을 리턴합니다.

항목 설명
0 정상적으로 완료되었습니다.
> 0 오류가 발생했습니다.

  1. 여러 개의 데이터 열을 함께 붙이려면 다음과 같이 입력하십시오.
    paste names places dates > npd
    그러면 다음과 같은 이름의 파일이 생성됩니다npd의 데이터를 포함하는names파일을 한 열에places파일을 다른 파일로 옮기고dates파일을 3분의 1로 줄입니다. If thenames,placesdates파일의 모양입니다:
    names           places          dates
    rachel          New York        February 5
    jerry           Austin          March 13
    mark            Chicago         June 21
    marsha          Boca Raton      July 16
    scott           Seattle         November 4
    그런 다음npd 파일에 포함되어 있습니다:
    rachel          New York        February 5
    jerry           Austin          March 13
    mark            Chicago         June 21
    marsha          Boca Raton      July 16
    scott           Seattle         November 4
    탭 문자가 각 행의 이름, 장소 및 데이터를 분리합니다. 탭 정지가 8번째 열마다 설정되므로 이러한 열이 항상 정렬되지는 않습니다.
  2. 탭이 아닌 문자로 열을 구분하려면 다음과 같이 입력하십시오.
    paste  -d"!@" names places dates > npd
    이는 ! 및 @를 열 구분자로 대체합니다. If thenames,placesdates파일이 예제 1과 같으면npd파일에 포함되어 있습니다:
    rachel!New York@February 5
    jerry!Austin@March 13
    mark!Chicago@June 21
    marsha!Boca Raton@July 16
    scott!Seattle@November 4
  3. 여러 개의 열에 표준 입력(STDIN)을 표시하려면 다음과 같이 입력하십시오.
    ls | paste - - - -
    이는 4개의 열에 현재 디렉토리를 나열합니다. Each-(마이너스)는 붙여넣기 명령에 표준 입력에서 읽은 데이터가 포함된 열을 만들도록 지시합니다. 첫 행은 첫 번째 열에, 두 번째 행은 두 번째 열에, 이런 식으로 들어갑니다.

    이는 다음과 동등합니다.

    ls | paste  -d"\t\t\t\n" -s -
    이 예는 표준 입력의 후속 행으로 페이지에서 열을 채웁니다. 다음-d"\t\t\t\n"는 각 열 뒤에 삽입할 문자를 정의합니다: 탭 문자(\t), 처음 세 열 뒤에 새 줄 문자(\n) 네 번째 이후입니다. -d 플래그가 없는 경우, paste -s - 명령은 각 열 간에 탭 문자를 사용하여 모든 입력을 한 행으로 표시합니다.

파일

항목 설명
/usr/bin/paste paste 명령을 포함합니다.