따라해보려고 해요이것대답하지만 작동시킬 수 없습니다.
무슨 일이 일어나고 있는지 파악하기 위해 최대한 단순화했습니다(지금은 터미널에서 실행하기만 하면 됩니다).
rsync --progress -iav /my/dir1 /my/dir2 | awk '{ print($0) }'
하지만 다음과 같은 것만 인쇄합니다 rsync: failed to set times on [file]
.
내가 뭘 잘못했나요?
편집하다:추가 조사에 따르면 awk가 일종의 버퍼링을 수행하는 것으로 보입니다. 이것:
for i in 10 20 30; do echo $i; sleep 1; done | awk '{print $0}'
시연 3초 후에야 출력이 보이는 문제.
그래서 질문은 버퍼를 플러시하기 위해 어떻게 awk를 얻느냐 하는 것 같아요. 나는 시도했다:
for i in 10 20 30; do echo $i; sleep 1; done | awk '{print($0); fflush()}'
같은 문제가 있습니다.
답변1
최종 용도mawk -Winteractive