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