我正在将命令的输出写入bash文件。该命令逐渐产生输出,我使用grep检索部分特定的行,并将它写入文件。现在,该命令正在将所有行写入文件。我希望每次bash命令有一些输出时都会截断该文件,这样文件中总会有一行。我怎样才能达到这样的效果?
我使用的命令是:
2>&1 zypper -x -n in geany | grep -o --line-buffered "percent=\"[0-9]*\"" | tee /var/log/oneclick.log
这会产生类似percent="10"
的输出,依此类推。每次,文件中只应存在一行
答案 0 :(得分:1)
如果您需要覆盖每行的文件:
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