linux – 如何将剪切输出写入文件

linux – 如何将剪切输出写入文件,第1张

概述我在bash上有自定义生成器: #!/bin/bashwhile :do echo "1 2 3 4" sleep 1done 我不想削减第3栏: $./loop.sh | cut -d' ' -f3 这工作正常,但当我尝试将其输出到文件时: $./loop.sh | cut -d' ' -f3 > myfile 什么都没发生,这个文件是空的.我期望看到3列的列,但什么也没得 我在bash上有自定义生成器:

#!/bin/bashwhile :do    echo "1 2 3 4"    sleep 1done

我不想削减第3栏:

$./loop.sh | cut -d' ' -f3

这工作正常,但当我尝试将其输出到文件时:

$./loop.sh | cut -d' ' -f3 > myfile

什么都没发生,这个文件是空的.我期望看到3列的列,但什么也没得到.我做错了什么?

解决方法 正如我在评论中提到的那样,它可能正在缓冲.当我尝试这个时,我得到了相同的结果.
您可以使用stdbuf来修改缓冲,就像这样(至少,这对我有用):

./loop.sh | stdbuf -o0 cut -d' ' -f3  > myfile

缓冲在管道链的最后部分完成(或似乎已完成),因此就是放置stdbuf的地方.

有关详细信息,请参阅man stdbuf.

总结

以上是内存溢出为你收集整理的linux – 如何将剪切输出写入文件全部内容,希望文章能够帮你解决linux – 如何将剪切输出写入文件所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1026913.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存