正则表达式 – 将匹配模式的一部分保存到变量
发布时间:2020-12-13 22:54:54 所属栏目:百科 来源:网络整理
导读:我想提取匹配模式的子字符串并将其保存到文件中.一个示例字符串: Apr 12 19:24:17 PC_NMG kernel: sd 11:0:0:0: [sdf] Attached SCSI removable disk 我想提取括号之间的部分,在这种情况下[sdf]. 我试图做一些像grep -e'[$subtext]’这样的东西,将括号中的
我想提取匹配模式的子字符串并将其保存到文件中.一个示例字符串:
Apr 12 19:24:17 PC_NMG kernel: sd 11:0:0:0: [sdf] Attached SCSI removable disk 我想提取括号之间的部分,在这种情况下[sdf]. 我试图做一些像grep -e'[$subtext]’这样的东西,将括号中的文本保存到变量中.当然这不行,但我正在寻找一种类似于此的方法.在这样的正则表达式中包含一个变量是非常优雅的.我能做些什么? 谢谢!
这可能是一个更好的方法,只使用bash,但是:
echo 'Apr 12 19:24:17 PC_NMG kernel: sd 11:0:0:0: [sdf] Attached SCSI removable disk' | sed -s 's/.*[(.*)].*/1/' 正如Jurgen指出的那样,这匹配不匹配的行.如果您不想输出不匹配的行,请使用’-n’,因此它不会输出模式,’/ p’在匹配时输出模式. | sed -n 's/.*[(.*)].*/1/p' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |