파이프라인 / tr

Aelan·2024년 11월 25일

Linux 초보

목록 보기
10/14

파이프(" | ") & 파이프라인

: "|" 연산자를 사용하여 한 명령어의 출력(표준 출력)을 다른 명령어의
입력(표준 입력)으로 전달하는 기법입니다. 여러 명령어를 조합하여 데이터를
가공하거나 처리할 때 사용됩니다.

command1 | command2 

command1의 표준 출력이 command2의 표준 입력으로 사용되는 형식


리다이렉션과 파이프라인의 차이

  • 리다이렉션(Redirection):
    명령어의 출력 데이터를 파일에 저장하거나, 명령어가 파일의 데이터를 읽게 만듭니다.

  • 파이프라인(Pipeline):
    한 명령어의 표준 출력(결과)을 다음 명령어의 표준 입력으로 직접 전달합니다.
    파일을 거치지 않고, 명령어들 간 데이터를 실시간으로 전달하여 처리합니다.


리다이렉션과 파이프라인 함께 사용 가능

ls /user/bin -1 | wc -l > count.txt
  • ls /user/bin -1: /user/bin 디렉토리의 파일 목록을 한 줄에 하나씩 출력.
  • "|" 파이프라인을 통해 ls 명령어의 출력을 wc 명령어의 입력으로 전달.
  • wc 명령어는 파일 목록의 줄 수를 계산 (즉, /user/bin의 파일 개수를 출력).
  • 리다이렉션을 통해 wc 명령어의 출력을 count.txt 파일에 저장.

tr 명령어

:텍스트 변환과 문자 치환/삭제를 수행하는 유용한 도구입니다.
주로 입력 스트림에서 특정 문자를 변환하거나 제거할 때 사용됩니다.

tr 명령어 옵션

  • -d 지정된 문자 집합을 삭제.
  • -s 중복된 문자를 하나로 압축.
  • -c 문자 집합의 보수를 지정 (집합에 포함되지 않은 문자를 변환/삭제).
tr [옵션] '변환대상' '변환결과'

tee 명령어

: tee 명령어는 표준 입력을 받아 이를 동시에 표준 출력(터미널)과 파일로 저장하는 리눅스/유닉스 명령어입니다.
즉, 데이터를 한 곳(예: 파일)에만 저장하지 않고, 동시에 다른 곳(예: 화면)에 출력하는 데 사용됩니다.

리다이렉션으로 출력을 파일로 저장하는 경우 파이프 연산자를 사용해 다음 명령어에게 출력값으로 전달하지 못하는데 이때 tee 명령어를 사용하여 출력값을 파일로 저장함과 동시에 출력 값을 다음 명령어의 입력값으로 던져줄수 있다!
T자형 파이프을 생각하면 이해하기 쉽다!

(아래로는 파일 저장 옆으로는 출력값 넘김)

0개의 댓글