在 Bourne shell 中从一行文本中提取字符串的最简单方法是什么?

在 Bourne shell 中从一行文本中提取字符串的最简单方法是什么?

假设我正在做一个grep并且它返回这一行:

Invalid value (48) on line 3

我怎样才能轻松地将该值48放入 Bourne shell 中的变量中?

答案1

如果您确定模式始终是获取第一对括号中的值,那么 cut 就是您的最佳选择。

myvar=$(echo 'Invalid value (48) on line 3' | cut -d\( -f2 | cut -d\) -f1)

这将提取括号之间的值。

答案2

echo 'Invalid value (48) on line 3'| awk -F'[()]' '{print $2}'

相关内容