在Bash中截断文件

时间:2012-11-15 14:16:25

标签: bash

我正在将命令的输出写入bash文件。该命令逐渐产生输出,我使用grep检索部分特定的行,并将它写入文件。现在,该命令正在将所有行写入文件。我希望每次bash命令有一些输出时都会截断该文件,这样文件中总会有一行。我怎样才能达到这样的效果?

我使用的命令是: 2>&1 zypper -x -n in geany | grep -o --line-buffered "percent=\"[0-9]*\"" | tee /var/log/oneclick.log

这会产生类似percent="10"的输出,依此类推。每次,文件中只应存在一行

1 个答案:

答案 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