이 명령의 매개변수 중 하나 tr
는 다음과 같습니다.
-u
모든 출력은 버퍼링되지 않음이 보장됩니다.
어떤 상황에서 출력을 버퍼링하지 않는 것이 가장 좋습니까?
-u
예를 들어, 각 행을 더 길게 만들고 싶다면 ?
-u
예를 들어, 메모리가 제한된 경우 무엇을 사용해야 합니까?
예를 들어, 파이프 awk
(파일을 한 줄씩 처리)하면 버퍼링된 출력을 사용하는 것이 더 낫다는 의미입니까?
답변1
버퍼링되지 않은 출력은 효율성이 떨어지므로 출력이 많으면 속도가 느려집니다. 버퍼링되지 않은 출력은 각 문자에 대해 시스템 호출을 수행할 수 있습니다(일반적으로 그렇지 않음).
장점은 버퍼가 채워지고 플러시되는 대신 즉시 출력을 얻을 수 있다는 것입니다. 이는 느린 출력(예: 한 번에 한 줄 이하)에 더 적합하며 대화식으로 볼 수 있습니다.
Unix에서 출력은 일반적으로 블록 또는 라인 버퍼링되며 버퍼링되지 않는 경우는 거의 없습니다.
stdbuf
GNU coreutils의 일부인 command 를 사용하여 명령의 기본값을 변경할 수 있습니다 .