首页 > 解决方案 > 根据shell脚本中的特殊字符从变量中提取子字符串

问题描述

我有一个变量,我想在其中提取由特殊字符包围的内容。在我的情况下,角色是%.

存储在变量中的值是这样的:

"something.. : something.. %Required Value 1% something.. %Required Value 2% : something.. "

响应中填充了不同的特殊字符,并且值来自不同的脚本。

从上面的响应中,我想提取用%. 我正在寻找的输出是

Required Value 1
Required Value 2

标签: shellsubstring

解决方案


使用 awk:

awk -v RS='%' '(NR+1)%2' <<< "something.. : something.. %Required Value 1% something.. %Required Value 2% : something.. "
Required Value 1
Required Value 2

RS,记录分隔符,设置为%。唯一的语句打印所有偶数记录号,例如 NR=2, 4, 6...


推荐阅读