프로그램 출력이 그레이핑되지 않는 이유는 무엇입니까?

프로그램 출력이 그레이핑되지 않는 이유는 무엇입니까?

내가 실행하면 sudo wpa_supplicant -Dwext -iwlan3 -cwifi.conf 2>&1다음을 얻습니다.

Successfully initialized wpa_supplicant
ioctl[SIOCSIWAP]: Operation not permitted
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
wlan3: Trying to associate with 9c:3d:cf:fb:95:96 (SSID='Bell514' freq=2462 MHz)
wlan3: Association request to the driver failed
wlan3: Associated with 9c:3d:cf:fb:95:96
wlan3: Authentication with 9c:3d:cf:fb:95:96 timed out.

그러나 내가 실행할 때 :

sudo wpa_supplicant -Dwext -iwlan3 -cwifi.conf 2>&1 | grep --line-buffered wlan3

나는 단지 다음을 얻습니다:

ioctl[SIOCSIWAP]: Operation not permitted
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument

제대로 리디렉션하지 않습니까 stderr?

답변1

파이프 소비자 grep은 라인 버퍼링됩니다. 그러나 그것은 파이프 생산자에게 영향을 미치지 않습니다. 파이프라인 grep의 해당 측면을 조정하면 원하는 출력이 생성됩니다.

관련 정보