如果相关的话,我直接从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 机器上运行得非常好。
非常感谢任何指点。我尝试阅读我能找到的所有自述文件,但没有一个涉及输出重定向。