23

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

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
4

2 に答える 2

51

改行はecho、リダイレクトではなく、によって追加されます。-nスイッチをに渡すだけで、echoそれを抑制できます。

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

-n 末尾の改行を出力しない

于 2012-09-06T10:17:05.340 に答える
3

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

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

これは、より複雑な関数がある場合に特に便利です。たとえば、複雑な'awk'ステートメントを使用して特定のセルを連続して引き出し、それを別のセットとペアリングする場合です。

于 2015-09-01T20:19:02.773 に答える