내가 원하는 것은 출력(헤더)의 첫 번째 줄 ps aux
과 grep 결과를 인쇄하는 것입니다.
검색한 결과 다음과 같은 결론을 얻었습니다.
ps aux | tee >(head -1 > /dev/tty) | grep mongo
grep mongo
하지만 stdin이 끊어진 것을 발견했습니다 .
또한 생략하면 > /dev/tty
직접 표준 출력은 어떻게 되나요 head -1
? 콘솔은 왜 안되나요?
(예, 나는 명령을 사용하여 원하는 것을 얻을 수 있다는 것을 알고 있습니다 awk
. 왜 내 명령이 작동하지 않는지 궁금합니다.)
답변1
이를 사용하여 awk
두 가지를 동시에 일치시킬 수 있습니다.
- 첫번째 줄.
- "mongo"가 포함된 줄입니다.
그게 다야:
$ ps aux | awk 'NR == 1 || /mongo/ {print $0}'
- 조건이
NR == 1
첫 번째 행과 일치합니다. - 조건은
/mongo/
"mongo"가 포함된 행과 일치합니다. {print $0}
는 처음 두 조건과 관련된 작업입니다. 이 경우 전체 라인을 인쇄합니다.