シェルスクリプトで並列処理して単一ファイルに書き込む
flock
とmktemp
を使えばよい
#/bin/bash -u lockfile=$(mktemp) myjob(){ # do something flock $lockfile echo "hoge" >> output } for file in $(find . -maxdepth 1); do myjob $file & done
参考リンク
排他を実現するコマンドflock(1)の使い方メモ | 上田ブログ
安全な一時ファイルの作成と削除の方法 - 拡張 POSIX シェルスクリプト Advent Calendar 2013 - ダメ出し Blog