linux – 如何将剪切输出写入文件
发布时间:2020-12-14 01:15:27 所属栏目:Linux 来源:网络整理
导读:我在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/bash while : do echo "1 2 3 4" sleep 1 done 我不想削减第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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |