Search unix awk模式帮助,又名。搜索不起作用
新手来这里寻求帮助 我只需要列出某些格式的行:Search unix awk模式帮助,又名。搜索不起作用,search,awk,Search,Awk,新手来这里寻求帮助 我只需要列出某些格式的行: :(dbs)G% wakanda:(5个数据库)/dev/sda1 12G 24G 12G 50%/ 不应显示与此不匹配的所有行 到目前为止,我试图通过以下方式对其进行蛮力: awk'$0~p'p=“*:*dbs*G*G*G*”/testFile 但这也列出了如下几行: 服务器:(207个数据库) 我不明白为什么它会直接忽略Gs,我已经在谷歌上搜索了相当长的时间,现在我完全迷路了,请帮助我,你能试着只在GNUawk中使用显示的示例编写并测试以下内容
:(dbs)G%
wakanda:(5个数据库)/dev/sda1 12G 24G 12G 50%/
不应显示与此不匹配的所有行
到目前为止,我试图通过以下方式对其进行蛮力:
awk'$0~p'p=“*:*dbs*G*G*G*”/testFile
但这也列出了如下几行:
服务器:(207个数据库)
我不明白为什么它会直接忽略Gs,我已经在谷歌上搜索了相当长的时间,现在我完全迷路了,请帮助我,你能试着只在GNU
awk
中使用显示的示例编写并测试以下内容吗
awk '/.*dbs.*([0-9]+G ){3}/' Input_file
说明:
awk
在条件方法(regexp)上工作,然后执行操作。在这里,我将检查当前行中的regex*dbs.*([0-9]+G){3}
,如果找到regexp,则不会提到任何操作,因此默认情况下会打印行。这非常快,而且似乎非常正确,谢谢。我不想成为一个讨厌鬼,但是如果你有时间的话,你能像我很蠢一样给我解释一下吗?@Zecmirit,当然现在也添加了详细的解释,干杯。好吧,我仔细研究了一下,它从测试文件中省略了两行我认为不应该有的内容:mysql5:(133 dbs)/dev/sda1 69G 68G 1.5G 98%/mysql16:(138 dbs)/dev/xvda40g34g6.4g84%/知道为什么吗?@Zecmirit,这只是基于你展示的尝试。请在您的问题中更新输入和预期输出的示例,然后通知我们。您希望编辑您的问题以包括所有这些示例,并更详细地解释为什么应排除其中一些示例。*
匹配零个或多个实例,这就是为什么忽略G
s的原因。我发现在在线检查器中检查正则表达式可以帮助我避免问题。如。