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

val*_*lpa 10 linux bash

我有两个变量,多行.

VAR1="1
2
3
4"

VAR2="ao
ad
af
ae"
Run Code Online (Sandbox Code Playgroud)

我想得到

VAR3="1ao
2ad
3af
4ae"
Run Code Online (Sandbox Code Playgroud)

我知道我可以做到:

echo "$VAR1" > /tmp/order
echo "$VAR2" | paste /tmp/order  -
Run Code Online (Sandbox Code Playgroud)

但有没有办法没有临时文件?

ДМИ*_*КОВ 22

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

  • @KurtisNusbaum"<()"被称为"进程替换".并非所有的外壳都支持它,但大多数外壳都支持它:https://www.google.com/search?q = process + subststitution (2认同)
  • 在 OSX 上,我必须执行 `paste --d '' &lt;(echo "$VAR1") &lt;(echo "$VAR2")`。使用“--delimiters”参数,或者将其放在命令末尾会出现有关“没有这样的文件或目录”的错误。 (2认同)