설명

tee 는 리눅스에서 파이프라인 명령어와 함께 자주 사용되는 유틸리티이다.
표준 입력으로부터 받은 데이터를 화면에 출력하면서 동시에 파일로 저장할 수 있는 기능을 제공한다.
데이터 스트림을 여러 곳으로 ‘분기’ 시켜주는 역할을 하며 이름은 영어로 물이 T 자로 갈라지는 모양에서 유래되었다.

1
2
3
4
5
6
7
#!/bin/zsh

# command | tee [option] [file]
# -a (append)

cat | tee t # 입력한 내용을 출력하면서 파일에 저장한다.
tee # 표준입력을 받는다. cat 과 동일한 기능이다.

출력 및 파일 저장

1
2
3
#!/bin/zsh

ls -l | tee output.txt # ls-l 의 명령어의 결과를 터미널에 출력하는 동시에 output.txt 파일에 저장한다.

tee-02.png

파일 덮어쓰기

1
2
3
4
#!/bin/zsh

echo "새로운 내용" | tee -a output.txt # output.txt 파일의 기존 내용에 새로운 내용을 추가한다.
tee -a file # cat "내용" >> file 과 같다.

설명

nl 은 number line 의 약자로 파일의 행번호를 부여할 수 있다.

출력

1
2
3
4
5
#!/bin/zsh

# nl [option] file

nl file # 파일의 행번호를 부여하여 표준 출력한다.

nl-01.png

여러 옵션

1
2
3
4
5
6
#!/bin/zsh

# -w (--number-width), -i (--increment), -v (--starting-line-number)

nl -w1 -i3 -v10 file # 길이를 1로 증분을 3씩 시작 번호를 10부터 설정한다.
nl -i2 -v1 file > output.txt # 홀수 행번호를 output.txt 에 저장한다.