シェルスクリプトで出力を解析するためのいくつかのバリアントstdbuf
を試した後(私の場合も)、有効な解決策が見つかりませんでした。これは、出力を解析する部分を除いた私のシェル スクリプトです。各行でエコーを実行するだけです。unbuffer
mplayer
libdvdnav
#!/bin/bash
IN=video.iso
OUT=video.mpg
IFS=$'\n'
for line in `stdbuf -oL -eL mplayer -msglevel identify=6 -dumpstream -dumpfile $OUT dvdnav://1/$IN 2>&1`; do
echo "mplayer: $line"
done
を使用しても出力はバッファリングされるstdbuf
ため、各行をリアルタイムで解析することはできません。ターゲットmplayer
を使用するときに出力をキャッチする方法はありますか?dvdnav