Paste , join

박태영·2024년 4월 5일

paste

  • 두 개 이상의 파일을 가로 방향으로 병합하여 출력하는 데 사용
nl name
 1	이순신
     2	황진이
     3	한석봉
     4	신돌석
     5	양주종
nl kor
     1	90
     2	95
     3	95
     4	50
     5	50
 nl eng
     1	95
     2	25
     3	95
     4	45
     5	50
paste name kor eng
이순신	90	95
황진이	95	25
한석봉	95	95
신돌석	50	45
양주종	50	50
  • s 옵션을 주면 가로로 내용을 병합 할 수 있음
paste -s name kor eng
이순신	황진이	한석봉	신돌석	양주종
90	95	95	50	50
95	25	95	45	50
  • -d 옵션을 뒤에 문자열을 주면 주면 기본 구분자(\n) 를 다른 문자열로 대신할 수 있음
    - d 옵션 뒤에 여러가지 문자를 나열하면 순서대로 반복되어 적용됨
paste -s -d"," name 
이순신,황진이,한석봉,신돌석,양주종

join

  • 공통 필드를 이용하여 데이터를 묶어줌
paste k1 e1
이순신	90	이순신	95
황진이	95	황진이	25
한석봉	95	한석봉	95
신돌석	50	신돌석	45
양주종	50	양주종	50
join k1 e1
이순신 90 95
황진이 95 25
한석봉 95 95
신돌석 50 45
양주종 50 50
  • -e 옵션 뒤에 값을 주면 필드에 비어있는 값을 해당 값으로 채워서 보여줌
  • -o 옵션 뒤에 특정 값을 나열하면 해당 필드만 보여줄 수 있다
join -e"00" -o 0,1.2,2.2 k1 e1
이순신 90 95
황진이 95 25
한석봉 95 95
신돌석 00 45
양주종 50 00

- 각 파일에 비어있는 값은 "00"으로 표시
- 0(공통컬럼을 의미), k1의 2번째 컬럼(kor점수) e1의 2번째 컬럼(eng 점수)을 표시함
  • -v 옵션을 주면 join 되지 않은 값들을 보여줌
profile
어른 아이

0개의 댓글