2012-01-08 20 views
4

Linuxシェルのbashスクリプトでは、同じ行のファイルに印刷する方法はありますか?各反復で Linuxシェルbashスクリプトでは、同じ行のファイルに印刷する方法は?

は私が

echo "$variable1" >> file_name, 

echo "$variable2" >> file_name, 

を使用しますが、それは

$v1 

$v2 

ない

 $v1 \tab $v2 

"\ cを" なるように改行を挿入することはできませんエコー改行を食べる。

この記事 BASH shell script echo to output on same line

は役立ちません。

おかげ

答えて

6

その質問を通じてウェーディングした後、私は何を探していることはecho -nであることを決めました。

1

echo -nを使用して改行をトリムします。それが動作するかどうかを確認する

3

変数の間に1つのタブがある場合は、printfを使用するのが良い選択です。あなたは正確にタブが両側にスペースが埋め込まれ、あなたの例のようにそれをしたい場合は

printf '%s\t%s' "$v1" "$v2" >> file_name 

:そこ

printf '%s \t %s' "$v1" "$v2" >> file_name 
2

いくつかのオプション:

  1. echo -n foo barそれは簡単です、かもしれないが、 HP-UXやSunOSなどの古いUNIXシステムでは動作しません。代わりに、 "-n"と残りの引数の後に改行が続きます。
  2. echo -e "foo bar\c"\cは、「は出力がありません。」という意味を持っています。私はこのソリューションが個人的には好きではありませんが、一部のUNIXウィザードで使用しています。
  3. printf %b "foo bar"私はこの解決策が一番好きです。それは非常に移植性があり、フレキシブルです。
関連する問題