Linux paste 사용법

paste 명령어는 리눅스와 유닉스 시스템에서 shell script (쉘스크립트) 작성시 여러 파일 또는 텍스트를 조합하여 출력하는 데 사용되는 명령어이다. 따라서, paste 명령어를 사용하면 여러 파일이나 텍스트 스트림을 하나의 파일 또는 스트림으로 연결하거나 병합할 수 있다. 이 글에서는 paste 명령어의 기본 사용법과 다양한 예제를 통해 실제 활용법을 알아본다.

paste 기본 구문

paste 명령어의 기본적인 구문은 다음과 같다:

paste [options] file1 file2 ...
  • options: paste 명령어의 옵션을 지정한다.
    • -d DELIMITER : DELIMITER로 지정한 문자열을 사용하여 필드(열)을 구분한다.
    • -s : 파일들을 세로로 병합하며, 각 파일의 내용을 새로운 행으로 나란히 표시한다.
  • file1, file2, …: 합칠 파일들을 지정한다.

Examples

1. 두 파일을 수평으로 합치기

~$ echo "A\nB\nC" > file1
~$ echo "1\n2\n3" > file2
~$ paste file1 file2
A\nB\nC 1\n2\n3

위 명령은 file1file2 파일의 내용을 수평으로 합쳐 출력한다.

2. 두 파일을 수직으로 합치기

~$ echo "A" > file1
~$ echo "1" > file2
~$ paste -s file1 file2
A
1

-s 옵션을 사용하여 file1file2 파일의 내용을 수직으로 합쳐 출력한다.

3. 특정 구분자로 두 파일 합치기

~$ echo "A B C" > file1
~$ echo "1 2 3" > file2
~$ paste -d',' file1 file2
A B C,1 2 3

-d 옵션을 사용하여 file1file2 파일의 내용을 쉼표로 구분하여 출력한다.

4. 파일과 표준 입력 합치기

~$ echo "A B C" > file1
~$ echo "1 2 3" | paste file1 -
A B C   1 2 3

표준 입력과 file1 파일의 내용을 수평으로 합쳐 출력한다.

5. 세 파일 합치기

~$ echo "A" > file1
~$ echo "1" > file2
~$ echo "alpha" > file3
~$ paste file1 file2 file3
A       1       alpha

file1, file2, file3 파일의 내용을 수평으로 합쳐 출력한다.

다양한 활용 예제

1. CSV 파일 만들기

~$ echo "Name, Age, Country" > data.csv
~$ echo "John, 25, USA" >> data.csv
~$ echo "Alice, 30, Canada" >> data.csv
~$ paste -s -d'\t' data.csv
Name, Age, Country      John, 25, USA   Alice, 30, Canada

data.csv 파일의 내용을 탭으로 구분하여 출력하여 CSV 파일을 만든다.

2. 두 열 합치기

~$ echo "Column1" > file1
~$ echo "Column2" > file2
~$ paste -d' ' file1 file2 > merged_file
~$ cat merged_file
Column1 Column2

두 파일의 내용을 공백으로 구분하여 합쳐 merged_file 파일을 생성한다.

3. 행과 열을 반복하여 출력

~$ seq 3 | paste - - -
1       2       3

seq 3 명령으로 생성된 1부터 3까지의 숫자를 행과 열을 반복하여 출력한다.

4. 두 파일을 번갈아가며 합치기

~$ echo "A\nB\nC" > file1
~$ echo "1\n2\n3" > file2
~$ paste -d'\n' file1 file2
A\nB\nC
1\n2\n3

file1file2 파일을 번갈아가며 합쳐 출력한다.

5. 두 파일의 각 행을 합치기

~$ echo "A" > file1
~$ echo "1" > file2
~$ paste -d '' file1 file2
A1

file1file2 파일의 각 행을 합쳐 출력한다.

참고 사이트

답글 남기기