我正在尝试运行
fswatch -tr /home/*/*/public_html | grep --line-buffered -E ".php|.xml" | awk '!seen[$0]++' >> log.txt
或等效地(通过使用uniq
):
stdbuf -i0 -o0 -e0 fswatch -tr /home/*/*/public_html | grep --line-buffered -E ".php|.xml" | uniq >> log.txt
这样我就不会得到重复的行。它在终端中工作得很好,具有标准输出,但是当我尝试将该输出写入 时log.txt
,文件是空白的(或者如果使用 ,则不会插入新行>>
)。
fswatch
是一个实时“监控”文件系统更改的命令,它会生成大量重复事件,并且uniq
似乎可以很好地解决这个问题。
任何想法为什么输出重定向不起作用?