如何在bash中组合两个变量列

时间:2013-08-26 05:19:48

标签: linux bash

我有两个变量,多行。

VAR1="1
2
3
4"

VAR2="ao
ad
af
ae"

我想要

VAR3="1ao
2ad
3af
4ae"

我知道我可以通过以下方式实现:

echo "$VAR1" > /tmp/order
echo "$VAR2" | paste /tmp/order  -

但没有临时文件可以做什么?

2 个答案:

答案 0 :(得分:21)

paste <(echo "$VAR1") <(echo "$VAR2") --delimiters ''

答案 1 :(得分:2)

你可以说:

$ VAR3=$(paste <(echo "$VAR1") <(echo "$VAR2"))
$ echo "$VAR3"
1   ao
2   ad
3   af
4   ae

目前尚不清楚是否需要在结果数组中使用空格。您的示例有效将包含空格,如上例所示。

如果您不想要空格,即1ao而不是1 ao,那么您可以说:

$ VAR3=$(paste <(echo "$VAR1") <(echo "$VAR2") -d '')
$ echo "$VAR3"
1ao
2ad
3af
4ae