この質問は以下に基づいています。Ask Ubuntuにも同様の質問がありますしかし、私はbash
同様の出力が欲しいsh
。
Bashには問題ありません。期待どおりに動作します。
wolf@linux:~$ echo $SHELL
/usr/bin/bash
wolf@linux:~$
wolf@linux:~$ varA='Aug 01
> Aug 16
> Aug 26'
wolf@linux:~$
wolf@linux:~$ varB='04:25
> 03:39
> 10:06'
wolf@linux:~$
wolf@linux:~$ echo "$varA $varB"
Aug 01
Aug 16
Aug 26 04:25
03:39
10:06
wolf@linux:~$
wolf@linux:~$ paste <(printf %s "$varA") <(printf %s "$varB")
Aug 01 04:25
Aug 16 03:39
Aug 26 10:06
wolf@linux:~$
ただし、同様のコマンドを試してみると、sh
次のエラーが発生します。
wolf@linux:~$ sh
$
$ varA='Aug 01
> Aug 16
> Aug 26'
$ varB='04:25
> 03:39
> 10:06'
$
$ echo "$varA $varB"
Aug 01
Aug 16
Aug 26 04:25
03:39
10:06
$
$ paste <(printf %s "$varA") <(printf %s "$varB")
sh: 22: Syntax error: "(" unexpected
$
同様の出力が得られますかsh
?
ベストアンサー1
変数の行数が等しい場合その後、このpr
コマンドを使用して、たとえば標準出力を2つの列に印刷できます。
$ printf '%s\n' "$varA" "$varB" | pr -2 -Ts^I
Aug 01 04:25
Aug 16 03:39
Aug 26 10:06
タブ文字を表す^I
(コマンドのデフォルトの区切り文字と一致するpaste
)キーの組み合わせCtrl+はじめに、ヘッダーとフッターをV TAB同時に閉じることができます。-T