Bash awk不写入文件

Bash awk不写入文件,bash,awk,Bash,Awk,我正在使用此命令从事务查看器打印一些信息。 如果我在终端中运行该命令,该命令可以正常工作,但只要我想将输出写入文件,该文件就为空 omn_bdxtrc -s=10 -c=10 | awk '/BO2/{printf "%-5s %3d\n", $2,$7}' 2>/dev/null >> "/logs/transactions/temp2.txt" 如果我只运行omn\u bdxtrc-s=10-c=10,则在表中获取结果 0618-16:48:07 Bdx

我正在使用此命令从事务查看器打印一些信息。 如果我在终端中运行该命令,该命令可以正常工作,但只要我想将输出写入文件,该文件就为空

omn_bdxtrc -s=10 -c=10 | awk '/BO2/{printf "%-5s %3d\n", $2,$7}' 2>/dev/null >> "/logs/transactions/temp2.txt"
如果我只运行
omn\u bdxtrc-s=10-c=10
,则在表中获取结果

0618-16:48:07  Bdx         1sec avg/  max avg (  peak time)  total    Bytes:   Min      Max    Total
----------------------------------------------------------------------------------------------------
0618-16:48:07 88-7-BO2         10.00/    10.00 (18/06 16:48)  31                117      117     3627
0618-16:48:07 91-1-NB18         0.00/     1.00 (18/06 16:48)  1                  77       77       77
0618-16:48:07 Total           85.00/    85.00 (18/06 16:48)  268
如果我使用AWK命令

omn_bdxtrc -s=10 -c=10 | awk '/BO2/{printf "%-5s %3d\n", $2,$7}'

88-7-BO2   9
88-7-BO2  20
88-7-BO2  30
88-7-BO2  39
88-7-BO2  50
88-7-BO2  59

你知道为什么文件的输出是空的吗?

是退出还是连续产生输出?@TomFenech,嗨,问题是当我运行命令而不写入文件时,它会给我一个输出。(搜索是一个输入错误,我只想搜索BO2)另一件事是,如果我不使用awk,它会写入文件。在这种情况下,它听起来可能与缓冲有关(这可能是@melpomene所指的)。一些程序根据它们(认为它们)是在写入管道还是文件来改变它们的行为。如果您将管道连接到您的_文件,会发生什么情况?@TomFenech该命令会写入文件,没有问题。但只要我想把AWK包括进来,文件就空了我还尝试像这样向文件传递字符串。omn|u bdxtrc-s=2-c=2 | awk'/91-1/{printf“Hello World”}| cat>/logs/transactions/temp2.txt,但文件仍然为空。和往常一样,如果我不包括写入文件,终端会继续打印Hello World。@melpomene Hi。对产品一直在运行,这似乎就是问题所在。