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

2024-04-08

如果相关的话,我直接从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 机器上运行得非常好。

非常感谢任何指点。我尝试阅读我能找到的所有自述文件,但没有一个涉及输出重定向。


是的,您对如何进行操作有疑问cmd解析器处理引用区域的开始/结束位置。什么cmd看到的是

awk -F "\"" "{print $2}" > tempDummy
       ^-^^-^          ^-------------
       1  2            3

即三个引用区域。作为>落在引用区域内,它不被视为 重定向运算符,它是管道右侧命令的参数。

这可以通过转义来解决(^ is cmd的一般转义字符)一个引号以确​​保cmd解析该行后正确生成最终命令,并且重定向不是该行的一部分awk command

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

或者您可以重新排序命令以将重定向操作放置在不会干扰的位置

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

但是,虽然使用这种方法有效,但在其他情况下可能会失败,因为awk code ({print $2}) 被放置在未加引号的区域中。

有一种更简单、标准、可移植的方法,无需处理引号转义:最好使用awk字符串处理并仅包含引号字符的转义序列

type processedFile | awk -F "\x22" "{print $2}" > tempDummy
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐

  • 角度材质多选

    我正在寻求一些有关使用 Angular Material 7 多重选择的建议 该文档对我想做的事情没有多大帮助 关于我正在尝试做的事情的一些背景 因此 我们正在创建一个记录对象 作为其中的一部分 我们需要知道哪些计划资助了他们 Progra
  • iframe 内容未在 iOs5 iPad/iPhone 中的滚动下呈现

    我正在开发 iPad html5 网页 需要显示来自其他来源 不同域 的页面 我正在将这些页面加载到iframe 然后滚动iframe使用iOs5新的滚动能力 如下面的代码所示 div style height 1185px width 1
  • 将 2 列与 pandas 中的列表值连接起来(避免重复和 NaN)

    我的 pandas 数据框如下 loc 1 loc 2 mumbai gujarat sri lanka chennai UP Goa telangana Kashmir Goa Rajkot NaN Bihar Orissa 我想创建一个
  • 将 Liquibase 扩展与 Maven 结合使用

    我正在尝试使用Liquibase Oracle 扩展 http liquibase jira com wiki display CONTRIB Oracle Extensions from maven liquibase 插件 http w
  • 我也可以在客户端使用 Coffeescript 吗?

    有没有办法在客户端使用CoffeeScript 有两种方法 将 CoffeeScript 编译为 JavaScript 并像部署任何 JavaScript 文件一样部署它 或者 Use coffee script js https coff
  • Xamarin WKWebView 接受自签名证书

    我在网上看到过各种例子说明如何接受它们 但我总是得到发生 SSL 错误 无法与服务器建立安全连接 我要注意的是 该方法肯定被调用 在 iOS 8 4 模拟器和 iOS 11 实际设备上运行 因此未调用的方法不是这里的问题 到目前为止我已经尝
  • 主要 JavaScript 框架/库列表 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我开始更深入地研究 JavaScript 开发 并希望减少时间去探索必须使用哪些工具来完成这项工作 我正在寻找一些网站 其中所有主要的 J
  • 用于生成唯一链接的 Rails 插件?

    我的应用程序中有很多地方需要生成带有唯一标记的链接 foo com g6Ce7sDygw 或其他 每个链接可能与一些会话数据相关联 并将用户带到一些特定的控制器 操作 有谁知道有一个 gem 插件可以做到这一点 它很容易实现 但会更干净 无
  • 无法通过 cloudformation yaml 创建 AWS::ECS::Service,模型验证失败

    在创建期间AWS ECS Service通过 cloudformation 我收到错误 Model validation failed 该错误与以下内容有关 HealthCheckGracePeriodSeconds和一些其他属性 错误详细
  • generateCertificate() 时出现证书异常

    我正在开发我的 Android 应用程序 我正在尝试生成X509证书来自我的证书文件流的实例 但是得到CertificateException 这是我的简单代码 import java security cert CertificateEx
  • withColumn() 中的 PySpark list() 只能工作一次,然后 AssertionError: col 应该是 Column

    我有一个 DataFrame 其中有 6 个字符串列 名为 Spclty1 Spclty6 另外 6 个字符串列名为 StartDt1 StartDt6 我想将它们压缩并折叠成如下所示的列 Spclty1 StartDt1 Spclty6
  • 究竟是什么在管理光束中的水印?

    Beam 的强大功能来自于它先进的窗口功能 但它也有点令人困惑 在本地测试中看到一些奇怪的情况 我使用rabbitmq作为输入源 其中消息并不总是得到ackd 并修复了不总是关闭的窗口 我开始挖掘 StackOverflow 和 Beam
  • C# 对带有换行符的文本字符串进行编码

    我有一个字符串正在写入响应的输出流 保存此文档并在 Notepad 或 WordPad 中打开它后 我会在预期的位置得到格式良好的换行符 但是当我使用常规的旧 Windows 记事本打开此文档时 我会得到一个带有 方形符号 的长文本字符串
  • Clearcase 中的派生对象

    我想问一下 ClearCase 中的派生对象到底是什么以及如何工作 另外我想问是否有其他程序具有相同的功能 因为在 Git MKS 或 IBM Rational Team Concert 中我找不到类似的东西 它是否已经过时了 这与动态视图
  • 如何在 JavaScript 中逐行循环换行符分隔的 json?

    我的项目中有一个 JSON 文件 如下所示 id 707860 name Hurzuf country UA coord lon 34 283333 lat 44 549999 id 519188 name Novinki country
  • SQL查询6度分离用于网络分析

    我正在使用 D3 js 构建网络分析 以在我的应用程序中显示连接的电话号码 分隔度可达六度 用于查找初始连接的 SQL postgres 如下 相当简单 然而 我对如何修改它以遍历六个级别的连接然后停止感到困惑 SELECT player
  • 更改输入焦点上的 div 颜色

    我正在尝试改变的颜色div带信s div class search container div
  • 将多个同名资源添加到 Xcode for iPhone

    是否可以在资源组中使用图像的双重名称 谢谢 您可以拥有多个同名资源 只要 1 它们不在同一目录中 并且 2 您已通过引用将资源添加到您的 Xcode 项目中 1 因为任何目录都不能包含两个同名的文件 2 因为 Xcode 尊重通过引用添加的
  • 如何检查数组中的所有元素是否为零? [复制]

    这个问题在这里已经有答案了 我想知道除了nil数组中的值 arr nil nil nil nil gt true arr nil 45 nil nil gt false 可以有任何类型的任何值 不仅45 Use the Enumerable
  • win-7 cmd 上的 GNU awk,不会将输出重定向到文件

    如果相关的话 我直接从sourceforge中的GNU指向源下载了GNU awk V 3 1 6 我正在使用 Windows 版 wget 获取 URL 页面 处理传入的文件后 我将其减少为单行 我必须从中提取一个键值 这是一个相当长的字符