【问题标题】:Aix grep wildcard not workingAix grep 通配符不起作用
【发布时间】:2014-08-01 14:27:56
【问题描述】:

我有一个名为 message 的文件,其中包含 CSC/UT/USA/WBIMB/SAP/orders05:orders05/ORDERS05/NONE/ORDRSP/758 行p>

我正在做一个 grep(平台是 AIX 6.1) grep CSC/UT/USA/WBIMB/SAP/orders05:orders05/ORDERS05/NONE/ORDRSP/758 message 找到该行并显示输出

但是,当我尝试使用如下通配符时 grep CSC/UT/USA/WBIMB/SAP/orders05:orders05/ORDERS05/.*/ORDRSP/758 message 它没有找到线路。我在这里遗漏了什么吗?我很困惑。

【问题讨论】:

  • 应该没关系,但也许您需要将 grep 搜索目标放在单引号中?即grep 'CSC/UT/USA/WBIMB/SAP/orders05:orders05/ORDERS05/.*/ORDRSP/758' message。另外,这不是编程问题,以后请寻找正确的论坛来发布您的问题。祝你好运。
  • 好吧,谢谢@shellter,我会把问题移到不同的论坛。简单地说,单引号也不适合我!
  • 你能做到:lslpp -h bos.rte.commands 吗?另外,为了安全起见,你可以做 /usr/bin/grep ..... 只是为了确保你得到你认为你应该得到的 grep。我自己也时不时地经历过 grep 的随机失败。可能有一个修复是我要求 lslpp 级别的原因。

标签: regex grep wildcard ksh aix


【解决方案1】:

这样的路径名中的通配符不使用正则表达式。他们改用通配符。在该方案中,点不是特殊字符,因此该命令正在查找名称以该点开头的任何目录(这将被隐藏,但这是另一回事)。要在任何目录中搜索,只需使用星号:

grep CSC/UT/USA/WBIMB/SAP/orders05:orders05/ORDERS05/*/ORDRSP/758 message

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-13
    • 2018-11-19
    • 1970-01-01
    • 1970-01-01
    • 2015-09-09
    • 2017-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多