echo $var
Nov 27 16:20:34 witness logger: trap: vars: disMAN-EVENT-MIB::sysUpTimeInstance = 0:6:10:29.06,SNMPv2-MIB::snmpTrapOID.0 = SNMPv2-SMI::enterprises.11.2.29.2.90.0.10000002,SNMPv2 SMI::enterprises.11.2.29.2.90.1 = "Finished Number",SNMPv2-SMI::enterprises.11.2.29.2.90.2 = "Filter Cirteria: [called='3333']",SNMPv2-SMI::enterprises.11.2.29.2.90.3 = "Cleared",SNMPv2 SMI::enterprises.11.2.29.2.90.4 = "major Over-Flow alert on Finished Number for ['3333']",SNMPv2 SMI::enterprises.11.2.29.2.90.5 = "The Corresponding Metric Value is: 0.5",SNMPv2- SMI::enterprises.11.2.29.2.90.6 = "Over-Flow",SNMPv2-SMI::enterprises.11.2.29.2.90.7 = "Tue Nov 27 16:20:05 CET 2012"
我试图在变量中获得以下输出:
var1 = "Tue Nov 27 16:20:05 CET 2012"var2 = "Finished Number"var3 = "The Corresponding Metric Value is: 0.5"var4 = "Cleared"var5 = "major Over-Flow alert on Finished Number for ['3333']"
我想通过awk这样做
基于snmp OID:enterprises.11.2.29.2.90.4,enterprises.11.2.29.2.90.5,11.2.29.2.90.6等…
但似乎无法仅提取引用内容的内容“”
解决方法 看起来你想要匹配双引号内的所有字符串,这是用grep最简单的方法:$echo $var | grep -o '"[^"]*"'"Finished Number""Filter Cirteria: [called=3333]""Cleared""major Over-Flow alert on Finished Number for [3333]""The Corresponding Metric Value is: 0.5""Over-Flow""Tue Nov 27 16:20:05 CET 2012"
说明:
-o只打印匹配行的部分.
" # Match opening double quote[^"]* # Match anything not a double quote" # Match closing double quote
希望这有助于您入门.
总结以上是内存溢出为你收集整理的linux – 在bash脚本中使用引号和空格的awk全部内容,希望文章能够帮你解决linux – 在bash脚本中使用引号和空格的awk所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)