私は2つの変数、複数行を持っています。2つの可変列を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つの変数、複数行を持っています。2つの可変列を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 -
しかし、一時ファイルを使用せずに行うにはどのような方法があるの?
paste <(echo "$VAR1") <(echo "$VAR2") --delimiters ''
あなたが言うことができます。
$ 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
2つの同一回答を持つポイントは何ですか? –
<()演算子は何と呼ばれていますか? –
@KurtisNusbaum "<()"は "プロセス置換"と呼ばれます。すべてのシェルがサポートしているわけではありませんが、最も一般的なシェルは次のとおりです:https://www.google.com/search?q=process+substitution –