Shell命令在状态(运行)之类的变量中提取括号(String)中的字符串

时间:2013-11-03 18:21:47

标签: string bash shell command extract

我正在构建一个AIX bash shell实用程序,我得到一个动态变量,其值类似于status(running)。 我只需要正在运行的brakets中的字符串。 现在,我可以使用awk print获得状态和括号的整个单词。

任何人都可以建议我如何解决它的耗尽问题。感谢。

1 个答案:

答案 0 :(得分:1)

让我们说:

s='(running)'

使用纯BASH:

echo "${s//[()]/}"
running

使用sed:

echo "$s" | sed 's/[()]//g'
running

使用tr:

tr -d '()' <<< "$s"
running

更新:根据OP的评论:

s='status(running)'

使用sed:

echo "$s" | sed 's/^.*(\(.*\)).*$/\1/g'
running

使用纯BASH:

t="${s#*\(}"
echo "${t%)*}"
running