0

如何连接两个变量或更多变量,如表的列?

我有var1var2

echo $var1

10
50
30
20
40

然后

echo $var2

111
222
333
444
555

然后我想要像这样的输出

10   111
50   222
30   333
20   444
40   555

在我结合这两个变量之后。

4

2 回答 2

5

使用pasteandbash的过程替换:

paste <(echo "$var1") <(echo "$var2")

输出:

10 111
50 222
30 333
20 444
40 555
于 2021-03-03T20:04:23.663 回答
4

使用该pr工具,假设您的 shell 是 bash

printf "%s\n%s\n" "$var1" "$var2" | pr -2 -T -s$'\t'

或者

pr -2T -s$'\t' <<END
$var1
$var2
END

或者,一个while-read循环:

while IFS= read -r a <&3; IFS= read -r b <&4; do printf "%s\t%s\n" "$a" "$b"; done 3<<<"$var1" 4<<<"$var2"

或更漂亮的布局

while
    IFS= read -r a <&3
    IFS= read -r b <&4
do
    printf "%s\t%s\n" "$a" "$b"
done 3<<<"$var1" \
     4<<<"$var2"
于 2021-03-03T20:27:47.447 回答