paste 커맨드는 파일들의 내용을 나란히 탭으로 구분해 출력하는 리눅스 커맨드이다.
[~] cat job_name
devops
engineer
[~] cat names
sammuel.kim
jax.moon
[~] paste names job_name
sammuel.kim devops
jax.moon engineer
탭이 싫다면, -d 옵션과 delimiter를 줄 수 있다.
$ paste -d":" names job_name
sammuel.kim:devops
jax.moon:engineer
만약 여러개의 delimiter를 줄 수 있고, 파일 단위로 사용된다.
$ paste -d'+-' names job_name names
sammuel.kim+devops-sammuel.kim
jax.moon+engineer-jax.moon
파일이 4개이고, delimiter가 2개이면, delimiter가 반복되어 사용된다.
$ paste -d'+-' names job_name names job_name
sammuel.kim+devops-sammuel.kim+devops
jax.moon+engineer-jax.moon+engineer
-s 옵션을 사용하면 여러 파일이 아닌 하나의 동일 파일을 사용한다.
$ paste -s names
sammuel.kim jax.moon
탭이 기본 구분자라서 +를 구분자로 사용할 수 있다.
$ paste -s -d'+' names
sammuel.kim+jax.moon
대시(-)를 쓰면 무엇이 나올까? 표준입력을 받는 의미로 쓰인다.
$ cat job_name -
devops
engineer
$ cat job_name -
devops
engineer
// zero 입력
zero
zero
표준 입력을 ls로부터 받고 구분자를 공백으로 두려면 다음과 같은 명령어를 사용한다.
$ ls | paste -d' ' -s -
Applications Desktop Documents Downloads Dropbox
ls | paste는 echo *의 덜 복잡한 포맷이 된다.
'unix and linux' 카테고리의 다른 글
unterminated substitute in regular expression 발생시 해결 방법 (0) | 2016.12.28 |
---|---|
[shell script] Here Tag / Here Document (0) | 2016.12.28 |
[grafana] - Grafana, InfluxDB, Telegraf을 활용해 system, redis, redis, cassandra 모니터링하기 (1) | 2016.12.23 |
sudo에 따른 Permission denied 에러 (0) | 2016.12.22 |
telnet 대신 nc 커맨드 (0) | 2016.12.22 |