Edited at

標準出力をファイルへの追加書き込みを並列実行

More than 1 year has passed since last update.

こんにちは。

コマンドの標準出力のファイルへの追加書き込みを並列実行したいと思いました(xargs利用)。しかしばらばらのタイミングで追加書き込みされてしまい悩みました。

そこで、そのコマンド(下記例のCOMMAND)の標準出力は必ず 1MB 以下と仮定し、対象ファイル(下記例のOUT.TXT)への追加書き込みは、一旦 dd コマンドへ蓄えたものをまとめて行うすることにしました。動かしてみて問題なさそうですが、この方法の自信はありません。

$ find ... | xargs -P 8 -I % sh -c 'COMMAND % | dd obs=1m >> OUT.TXT 2> /dev/null'