我只想从特定字符串中获取子字符串。
例如,我有"sec(name=test)"
字符串。而且,我想name=test
使用shell提取字符串。
我试过下面的命令来提取"name=test"
值。但是,我得到的结果是sec()
echo "sec(name=test)"| grep -P '(sec\((.*)\))'
您能帮忙解决吗?
您很亲密,但是除非想要egrep
(可能会或可能不会),否则sed
使用basic-regular-expressions就可以了,例如
$ echo "sec(name=test)"| sed 's/^[^(]*(\([^)]*\)).*$/\1/'
name=test
标准替代命令的详细信息是s/find/replace/
该find
部分在某种程度上用于收集要在该命令的部分中使用的反向引用的设置replace
。例如,
该find
部分
^
-锚点在字符串开头开始比赛[^(]*
-匹配的所有字符[..class..]
是,"^("
(不开括号)(
-食用开胃菜\(...\)
收集要保存为反向引用的字符,这些字符"[^)]*
不是结束符,而是所有字符,)
-消耗结束时间,.*$
-其余部分。该replace
部分
\1
插入保存为第一个反向引用的字符(\(...\)
在您的情况下为name=test
。而且,您已经完成...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句