Aix grep 通配符不起作用
Posted
技术标签:
【中文标题】Aix grep 通配符不起作用【英文标题】:Aix grep wildcard not working 【发布时间】: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 级别的原因。
【参考方案1】:
这样的路径名中的通配符不使用正则表达式。他们改用通配符。在该方案中,点不是特殊字符,因此该命令正在查找名称以该点开头的任何目录(这将被隐藏,但这是另一回事)。要在任何目录中搜索,只需使用星号:
grep CSC/UT/USA/WBIMB/SAP/orders05:orders05/ORDERS05/*/ORDRSP/758 message
【讨论】:
以上是关于Aix grep 通配符不起作用的主要内容,如果未能解决你的问题,请参考以下文章