使用Sed / awk / grep或任何其他工具在Linux环境中提取子字符串

安南·弗朗西斯(Ananth Francis)

我只想从特定字符串中获取子字符串。

例如,我有"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部分

  1. ^ -锚点在字符串开头开始比赛
  2. [^(]*-匹配的所有字符[..class..]是,"^("(不开括号)
  3. ( -食用开胃菜
  4. \(...\)收集要保存为反向引用的字符,这些字符"[^)]*不是结束符,而是所有字符
  5. ) -消耗结束时间,
  6. .*$ -其余部分。

replace部分

  1. \1插入保存为第一个反向引用的字符(\(...\)在您的情况下为name=test

而且,您已经完成...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用grep / sed / awk从字符串中提取单词

如何使用 awk、sed 或 grep 将一个空格字符(不更改任何其他字符)添加到“一个字符串”?

如何使用 sed/awk/grep

使用 awk 或 sed 提取文本

如何在Linux中使用grep或awk从xml的字符串中提取值

使用Sed或Awk替换字符串

使用sed或awk更改字符串

如何使用sed grep awk删除双字符串

使用 sed/awk 从每一行中提取多个字符串

使用AWK / SED从多个字符串中提取单词

使用基于sed / awk的linux替换字符串

使用sed / awk linux bash替换字符串

使用grep / sed / awk提取与某些字段相对应的字符串

使用 sed/grep/awk 从流中提取数字

如何使用sed,awk或任何其他命令填充结束标签?

需要sed awk或grep输出以提取字符串

如何使用sed(或bash / perl / awk)提取子字符串并将其写入新列?

使用awk从字符串中提取子字符串

在Linux中,如何用sed或awk或任何其他程序用第3(n)行和每n + 6(如9、15、24等)的另一个字符串替换?

使用 awk 如何在一个命令中提取匹配的字符串和其他数据

awk(或 sed/grep)获取子字符串的出现次数

使用sed / awk更改grep的匹配输出

何时使用grep,更少,awk,sed

使用 grep、sed 或 awk 获取 JSON 值

使用awk,sed,grep对输入进行分组

使用sed,awk提取部分文本

如何使用awk / sed提取json文件?

使用sed或awk替换空格字符

使用grep或awk从python文件中提取文档字符串