sh脚本捕获文本并将其添加到以空格分隔的变量

时间:2018-07-29 16:58:27

标签: bash

我有一个conf文件,其中包含1至n行的格式,如下所示:

server $hostname $something_else

我希望能够使用所有主机名变量并将其插入以空格分隔的字符串中。我想我应该做类似的事情:

awk '/^server/ {print $2}' file.conf

但是我不打印行,而是如何获取带有“ hostname1 hostname2 ... hostname n”的变量?

1 个答案:

答案 0 :(得分:0)

获取当前输出,将其一个接一个粘贴,然后将结果分配给var:

V=$(awk '/^server/ {print $2}' file.conf | paste -s -d' ')

这也可以单独使用awk来完成,使用printf来避免自动换行:

V=$(awk '/^server/ {printf("%s ", $2)}' file.conf)