win-7 cmd上的GNU awk,不会将输出重定向到文件

问题描述 投票:0回答:1

[如果相关,我可以直接从sourceforge中的GNU指向源下载GNU awk V 3.1.6。

我正在使用Windows的wget获取URL页面。处理传入的文件后,我将其缩小为单行,必须从中提取一个很长的字符串值。最后一行看起来像这样:

<ENUM_TAG>content"href:e@5nUtw3Fc^b=tZjqpszvja$sb=Lp4YGH=+J_XuupctY9zE9=&KNWbphdFnM3=x4*A@a=W4YXZKV3TMSseQx66AHz9MBwdxY@B#&57t3%s6ZyQz3!aktRNzcWeUm*8^$B6L&rs5X%H3C3UT&BhnhXgAXnKZ7f2Luy*jYjRLLwn$P29WzuVzKVnd3nVc2AKRFRPb79gQ$w$Nea6cA!A5dGRQ6q+L7QxzCM%XcVaap-ezduw?W@YSz!^7SwwkKc"</ENUM_TAG>

我需要两个“符号之间的长字符串。

所以我将此结构与awk一起使用

type processedFile | awk -F "\"" "{print $2}"

并且我得到预期的输出

href:e@5nUtw3Fc^b=tZjqpszvja$sb=Lp4YGH=+J_XuupctY9zE9=&KNWbphdFnM3=x4*A@a=W4YXZKV3TMSseQx66AHz9MBwdxY@B#&57t3%s6ZyQz3!aktRNzcWeUm*8^$B6L&rs5X%H3C3UT&BhnhXgAXnKZ7f2Luy*jYjRLLwn$P29WzuVzKVnd3nVc2AKRFRPb79gQ$w$Nea6cA!A5dGRQ6q+L7QxzCM%XcVaap-ezduw?W@YSz!^7SwwkKc

但是当我运行相同的命令并将输出重定向到文件时,例如

type processedFile | awk -F "\"" "{print $2}" > tempDummy

我收到此错误消息:

awk: cmd. line:1: fatal: cannot open file `>' for reading (Invalid argument)

我认为\“字段分隔符使我有些痛苦,并且使最后一个”字符成为未封闭的字符串值,但是我不确定如何正确地做到这一点。顺便说一下,相同的构造可以很好地在我的centos盒子上运行。

非常感谢任何指针。我尝试读取我可以找到的所有自述文件,但是它们都没有触及输出重定向。

awk cmd windows-7 output io-redirection
1个回答
0
投票

似乎您的命令无法将输出传递给awk命令,所以您可以尝试以下内容,尽管未经过测试。

type processedFile 2>&1 | awk -F "\"" '{print $2}' > tempDummy

还使用"`` double quotes, where you should be using'for awk`代码。

如果上述方法不起作用,请尝试再进行一次。

type processedFile > out_file && awk -F "\"" '{print $2}' out_file > tempDummy
© www.soinside.com 2019 - 2024. All rights reserved.