Cygwin cigstart 和 mintty 没有将 tail -f 写入管道到 grep 到文件
Cygwin cigstart and mintty not writing tail -f piped to grep to file
我正在尝试创建一个 运行 进程的 .sh 文件,然后将一些日志记录输出写入一个单独的文件。除了让 cygwin 实际写入文件的方法之外,我几乎所有的东西都在工作。以下两个都显示一个新的 cygwin window 并且似乎遵循日志文件但都没有写入输出文件:
cygstart tail -f ./logs/full-log.txt | grep --line-buffered "LOG_FILE:" > ./logs/lrp-log.txt
mintty tail -f ./logs/full-log.txt | grep --line-buffered "LOG_FILE:" > ./logs/lrp-log.txt
以下有效,但我想将其合并到我的较大脚本中,因此我需要以某种方式在后台将其发送到 运行,以便我的脚本可以继续。
tail -f ./logs/full-log.txt | grep --line-buffered "LOG_FILE:" > ./logs/lrp-log.txt
我怀疑
cygstart tail -f ./logs/full-log.txt | grep --line-buffered "LOG_FILE:" > ./logs/lrp-log.txt
表示:
{ cygstart tail -f ./logs/full-log.txt; } | grep --line-buffered "LOG_FILE:" > ./logs/lrp-log.txt
即你是 运行:
{ cygstart tail } | grep
而不是你想做的:
cygstart { tail | grep }
如果您只是想修改 shell 脚本以将 tail | grep
置于后台,那么这可能就是您真正需要的:
( tail -f ./logs/full-log.txt | grep --line-buffered "LOG_FILE:" > ./logs/lrp-log.txt; ) &
我正在尝试创建一个 运行 进程的 .sh 文件,然后将一些日志记录输出写入一个单独的文件。除了让 cygwin 实际写入文件的方法之外,我几乎所有的东西都在工作。以下两个都显示一个新的 cygwin window 并且似乎遵循日志文件但都没有写入输出文件:
cygstart tail -f ./logs/full-log.txt | grep --line-buffered "LOG_FILE:" > ./logs/lrp-log.txt
mintty tail -f ./logs/full-log.txt | grep --line-buffered "LOG_FILE:" > ./logs/lrp-log.txt
以下有效,但我想将其合并到我的较大脚本中,因此我需要以某种方式在后台将其发送到 运行,以便我的脚本可以继续。
tail -f ./logs/full-log.txt | grep --line-buffered "LOG_FILE:" > ./logs/lrp-log.txt
我怀疑
cygstart tail -f ./logs/full-log.txt | grep --line-buffered "LOG_FILE:" > ./logs/lrp-log.txt
表示:
{ cygstart tail -f ./logs/full-log.txt; } | grep --line-buffered "LOG_FILE:" > ./logs/lrp-log.txt
即你是 运行:
{ cygstart tail } | grep
而不是你想做的:
cygstart { tail | grep }
如果您只是想修改 shell 脚本以将 tail | grep
置于后台,那么这可能就是您真正需要的:
( tail -f ./logs/full-log.txt | grep --line-buffered "LOG_FILE:" > ./logs/lrp-log.txt; ) &