cdrecord/wodim의 출력을 구문 분석하기 위해 grep을 사용하고 싶습니다. cdrecord -v
다음과 같은 출력 라인
Track 01: 49 of 75 MB written (fifo 100%) [buf 100%] 10.2x.
문제는 cdrecord가 같은 줄에 진행 상황을 표시하기 위해 캐리지 리턴( CR
, )을 사용한다는 것입니다.\r
일반적으로 작동하는 cdrecord 호출에 추가를 시도했지만 tr '\r' '\n'
출력이 정렬되지 않습니다. 대신, 많은 양의 텍스트가 구문 분석되어 표시됩니다.
cdrecord -v ... | tr '\r' '\n' | grep -i written
cdrecord, tr 또는 grep 때문입니까? 출력을 한 줄씩 얻을 수 있도록 강제로 새로 고치는 방법이 있습니까?
도움을 주시면 감사하겠습니다.
답변1
출력이 tr
버퍼링됩니다. 다음을 stdbuf -o0
사용하여 tr
STDOUT을 버퍼링되지 않은 상태로 만들 수 있습니다 .
cdrecord -v ... | stdbuf -o0 tr '\r' '\n' | grep -i written