명령을 pv로 파이프하지만 원래 명령의 모든 출력을 숨깁니다.

명령을 pv로 파이프하지만 원래 명령의 모든 출력을 숨깁니다.

을 사용하려고 하는데 pvpv의 출력은 계속 볼 수 있으면서 파이프로 연결된 명령의 출력을 숨기고 싶습니다. 사용해도 command &> /dev/null | pv아무런 효과가 없습니다(예: pv는 어떤 데이터도 수신하지 않습니다). commandstdout 및 stderr에서 출력을 생성합니다. 둘 중 하나도 보고 싶지 않습니다.

grep Pipe( )를 사용해 보았 command &> /dev/null | pv | grep <=>으나 가끔 터미널에 내용이 출력되는 경우가 있습니다.

답변1

man pv설명하다:

이를 사용하려면 두 프로세스 사이의 파이프에 삽입하고 적절한 옵션을 사용하십시오. 표준 입력은 표준 출력으로 전달되며 진행 상황은 표준 오류에 표시됩니다.

표시되는 출력은 에서 나옵니다 pv. 진행률 표시줄은 stderr에 있고 파이프하는 내용은 stdout에 있습니다. 출력을 리디렉션할 수 있습니다.

cmd | pv > /dev/null

여전히 진행률 표시줄이 출력됩니다.

명령이 생성되는 경우그것은stderr의 텍스트에도 동일하게 적용됩니다.명시적으로 리디렉션/dev/null, 출력을 다음으로 전달합니다 pv.

cmd 2>/dev/null | pv > /dev/null

관련 정보