【发布时间】:2014-06-11 08:44:36
【问题描述】:
我在 Linux 中使用命令 grep 从我的输出文件中获取特定信息,但我不知道为什么不复制到文件中。
当我使用这样的命令时,它可以工作
udevadm monitor --env | grep "ACTION"
ACTION=remove
ACTION=remove
ACTION=remove
ACTION=remove
ACTION=remove
ACTION=remove
ACTION=remove
ACTION=remove
ACTION=remove
ACTION=remove
ACTION=remove
ACTION=remove
ACTION=remove
ACTION=remove
ACTION=remove
但是,当我使用这样的命令时,它不会复制到“output.txt”
udevadm monitor --env | grep "ACTION" >> output.txt
【问题讨论】:
-
这是因为重定向中的缓冲,请参阅this question 了解如何绕过它。简短的回答:将
--line-buffered选项添加到grep命令。 -
@Thor 谢谢它现在正在工作......我只是添加了这样的“--line-buffered”选项,它正在工作 udevadm monitor --env | grep --line-buffered "ACTION" >> file.txt