0

コマンドの出力をbashファイルに書き込んでいます。コマンドは徐々に出力を生成し、grepを使用してパーツ固有の行を取得し、teeを使用してファイルに書き込みます。現在、コマンドはすべての行をファイルに書き込んでいます。ファイルに常に1行が含まれるように、bashコマンドに出力があるたびにファイルを切り捨てたいと思います。どうすればそのような効果を達成できますか?

私が使用しているコマンドは次のとおりです。 2>&1 zypper -x -n in geany | grep -o --line-buffered "percent=\"[0-9]*\"" | tee /var/log/oneclick.log

これにより、などの出力が生成percent="10"されます。毎回、ファイルには1行だけ存在する必要があります

4

1 に答える 1

1

If you need to overwrite the file for each line:

2>&1 zypper -x -n in geany | 
grep -o --line-buffered "percent=\"[0-9]*\"" |
while read line; do
    echo "$line" > /var/log/oneclick.log
    echo "$line"
done
于 2012-11-15T21:19:16.397 に答える