このコマンドのパラメータの1つtr
は次のとおりです。
-u
すべての出力はバッファリングされないことが保証されます。
どのような状況で出力をバッファリングしないのが最善ですか?
-u
たとえば、各行を長くしたい場合は?
-u
たとえば、メモリが制限されている場合は何を使うべきですか?
たとえば、パイプawk
(ファイルを1行ずつ処理)すると、バッファリングされた出力を使用する方が良いという意味ですか?
答え1
バッファされていない出力は効率が悪く、出力が多いと速度が遅くなります。バッファリングされていない出力は、各文字に対してシステムコールを実行できます(通常はそうではありません)。
利点は、バッファが満たされてフラッシュされるのではなく、すぐに出力を取得できることです。これは、より遅い出力(たとえば、一度に1行以下)に適しており、対話的に見ることができます。
Unixでは、出力は通常ブロックまたはラインバッファリングされ、バッファリングされないケースはほとんどありません。
stdbuf
GNU coreutilsの一部であるcommandを使用して、コマンドのデフォルト値を変更できます。