【发布时间】:2020-02-24 07:18:22
【问题描述】:
如果相关,我有直接从 sourceforge 中的 GNU 指向源下载的 GNU awk V 3.1.6。
我正在使用 wget for windows 获取 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