질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

쉘스크립트에 대해서 질문 드립니다. |(파이프)

작성자 정보

  • 황순혁 작성
  • 작성일

컨텐츠 정보

본문

간단한 쉘스크립트를 테스트 하려고 하는데..다음과 같은 명령이 제대로 수행 되질 않습니다..

cat /etc/logrotate.conf | grep -v "#" | grep -E "include" | awk '{print $2}' | ls

awk명령 까지는 출력값이 제대로 나오지만.. 이후 파이프를 통해 ls명령의 입력으로 값이 넘어가질 않습니다.. 그래서 다음고 같이 테스트를 해봤는데..역시나 '| ls'로는 출력값이 넘어가질 않습니다..

#cat a.tmp | ls

무엇이 문제인지.. |(파이프) 명령을 잘못 사용한건지.. 조언 부탁드립니다..(_ _)>

관련자료

댓글 3

허태훈님의 댓글

  • 허태훈
  • 작성일
ls는 파일 또는 디렉토리 경로의 내용을 나열합니다. #cat a.tmp | ls 하시면 a.tmp 파일의 내용을 standard output로 출력하는데 이결과을 받아 ls 로 출력이 가능할까요? 아마 ls 명령어 결과만 출력 될것입니다. cat a.tmp는 출력되지 않고 ls 만 출력됩니다. cat /etc/logrotate.conf | grep -v "#" | grep -E "include" | awk '{print $2}' | ls 에서 ls 명령어를 사용하지 마세요. 무슨 이유로 ls 를 사용하시는지 ?

황순혁님의 댓글

  • 황순혁
  • 작성일
'| ls'이전의 결과값이 '/etc/logrotate'라는 값입니다. 이 경로는 디렉토리를 의미하거든요 그래서 이 값을 가지고 ls 명령을 통해..디렉토리안의 내용을 보고 싶어서 저렇게 사용해봤습니다.. stdout로 나가는 결과값을 | 로 넘길 방법은 엄는지요??

황순혁님의 댓글

  • 황순혁
  • 작성일
아 그리고 다른 명령들의 결과값욕시 stdout으로 나가지 않나요?? grep이나 awk등등.. 이런것들은 어찌 | 를 통해 결과값이 전해지는지???

공지사항


뉴스광장


  • 현재 회원수 :  60,365 명
  • 현재 강좌수 :  37,036 개
  • 현재 접속자 :  290 명