sed group out of string并将其变为变量

时间:2017-02-23 12:00:05

标签: variables sed

你能让它发挥作用吗?

result=${docker ps | sed -r 's/(.*)\s.*$/\1/'} && echo $result

只想将种子的结果传递给变量(并将其打印出来进行调试) 棘手的是,docker ps返回多行!

更新:

由于帖子更远到

,我改变了它
result=$(docker ps | sed -r 's/(.*)\s.*$/\1/'} && echo "$result"

但这是结果:

root@Synobaby916:/volume1/Synology-Infrastructure/sys_scripts# result=$(docker ps | sed -r 's/(.*)\s.*$/\1/'} && echo "$result"
> 

>背后只是一个闪烁的光标......

1 个答案:

答案 0 :(得分:0)

要展开变量,应使用双引号"$result"{} ${result}包围:

result=$(docker ps | sed -r 's/(.)\s.$/\1/') && echo "$result"

这是一个简化的类比:

result=$(echo "hello there" | sed -rn 's/^([a-z]).*/\1/p') && echo "$result"

它会输出: h(字符串的第一个字符)