web-dev-qa-db-ja.com

新しい行を作成するのではなく、同じ行に文字列を追加する方法は?

ファイルへのリダイレクトは、次のように文字列を新しい行としてファイルに追加するのに非常に便利です。

echo "foo" >> file.txt
echo "bar" >> file.txt

結果:

foo
bar

しかし、ファイル内の同じ行に文字列をリダイレクトすることもできますか?

例:

echo "foo" <redirection-command-for-same-line> file.txt
echo "bar" <redirection-command-for-same-line> file.txt

結果:

foobar
18
John Threepwood

改行は、リダイレクトではなくechoによって追加されます。 -nechoに切り替えて抑制します。

echo -n "foo" >> file.txt
echo -n "bar" >> file.txt

-n末尾の改行を出力しません

42
cnicutar

結果を1行にエコーする別の方法は、結果を変数に割り当てることです。例:

j=$(echo foo)
i=$(echo bar)
echo $j$i
foobar
echo $i $j
bar foo

これは、より複雑な関数がある場合に特に便利です。おそらく、特定のセルを連続して引き出し、別のセットとペアにするための複雑な「awk」ステートメントです。

2
xiphos71