프로그래밍/Unix

[유닉스] 파일 연결하기 ( paste )

미냐님 2020. 4. 21. 20:53
728x90

paste

  • 파일의 내용을 결합
  • 형식 : paste [옵션] 파일1 파일2
  • 옵션
    • -s :수평으로 붙임
    • -d 문자 : 필드 구분자를 지정
      • : 파일 대신 표준 입력 사용
  • 사용 예 : paste test1 test2 > res, paste –s test1 test2

 

파일 붙이기

  • 예제 파일 만들기
$ cut –f 1 test_cut > test_paste1
$ cut –f 2,3 test_cut > test_paste2
$ cat test_paste1
001
002
003
004
005
006
007
$ cat test_paste2
Hong Gil-Dong
Park Ji-Sung
Cha Doo-Ri
Park Chan-Ho
Kim Yun-A
Bae Sue-Ji
Han So-Ri
$
  • 옵션 없이 두 파일을 붙이면 앞의 파일 내용을 첫 번째 필드로, 뒤에 지정한 파일 내용을 두 번째 필드로 하여 두 파일의 내용을 한 행씩 합친다.
$ paste test_paste2 test_paste1
Hong Gil-Dong 001
Park Ji-Sung 002
Cha Doo-Ri 003
Park Chan-Ho 004
Kim Yun-A 005
Bae Sue-Ji 006
Han So-Ri 007
$
  • 두 파일의 행 수가 다른 경우
$ cat > test_paste3
001 002 003 004
005 006 007
^D
$ paste test_paste2 test_paste3
Hong Gil-Dong 001 002 003 004
Park Ji-Sung 005 006 007
Cha Doo-Ri
Park Chan-Ho
Kim Yun-A
Bae Sue-Ji
Han So-Ri
$ 

 

필드 구분자 지정해 붙이기 : -d

  • 두 파일을 붙일 때 –d 옵션을 이용해 필드 구분자를 추가할 수 있음
$ paste –d: test_paste1 test_paste2
001:Hong Gil-Dong
002:Park Ji-Sung
003:ChaDoo-Ri
004:Park Chan-Ho
005:Kim Yun-A
006:Bae Sue-Ji
007:Han So-Ri
$

 

파일 수평 붙이기 : -s

  • 두 파일의 내용이 필드가 아닌 연속된 파일의 부분일 경우 원래대로 합치기
$ paste –s test_paste1 test_paste2
001 002 003 004 005 006 007
Hong Gil-Dong Park Ji-Sung Cha Doo-Ri Park
Chan-Ho Kim Yun-A Bae Sue-Ji Han So-Ri
$ 

 

728x90