gpt4 book ai didi

linux - 命令运行 Linux 时如何输出重定向以覆盖文件?

转载 作者:太空狗 更新时间:2023-10-29 11:43:31 26 4
gpt4 key购买 nike

我不确定这是否可能。但我正在使用此命令来获取网络吞吐量。

ifstat -t -S -i wlan0

就像那样运行它会在控制台上内联更新,但是当我通过管道传输它时,它会在文件中附加一个新行。

ifstat -t -S -i wlan0 >> /tmp/transfer.txt

Time wlan0
HH:MM:SS KB/s in KB/s out

21:33:35 4.27 201.47
21:33:36 4.20 178.88
21:33:37 4.41 190.76
21:33:38 4.32 186.61
21:33:39 5.07 177.42
21:33:40 4.15 182.87
21:33:41 5.70 180.93
21:33:42 4.21 194.71
21:33:43 3.80 181.35
21:33:44 3.86 185.57
21:33:45 3.92 189.78
21:33:46 4.08 195.29
etc...

好的,我知道使用它会覆盖文件。但只有在我第一次运行它之后。而不是在应用程序执行期间。

ifstat -t -S -i wlan0 >> /tmp/transfer.txt

我真的不需要保留所有传输速率的日志,只是有兴趣在应用程序运行时在每次更新时写下一行我希望它每秒创建一个新文件或覆盖它,而不是在执行期间附加行。

最佳答案

从技术上讲,您不是在管道传输,而是在重定向输出。

看起来您想使用 > 而不是 >>

要在 ifstat 执行时获取最后一行,您可以将其提取到第二个文件中,如下所示:

while true; do tail -1 /tmp/transfer.txt > /tmp/transfer2.txt; sleep .5; done

每次都覆盖文件而不保留日志。

while true; do ifstat -t -i wlan0 1 1 | tail -1 > /tmp/transfer.txt; sleep .5; done;

关于linux - 命令运行 Linux 时如何输出重定向以覆盖文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30743338/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com