リダイレクトされた出力から改行を削除する方法

リダイレクトされた出力から改行を削除する方法

このように出力をリダイレクトする場合は、改行文字を削除できますか?

echo "a" >> file

私のスクリプトには、すべての文字(数値を除く)をファイルにリダイレクトするforループを含む同様のものがあります。しかし、私の目標は、この出力を1行に入れることです。 「a」を10回リダイレクトしたと仮定すると、次のようになります。

a a a a a a a a a a

しかし、それは次のとおりです。

a
a
a
a 
[etc.]

ベストアンサー1

具体的に要求する場合は、次のように改行を抑制echoできます-n

$ echo -n "test" >> outputfile

パイプまたはリダイレクトされたデータで改行を抑制する方法をより一般的に尋ねる場合は、次のツールを使用してください。たくさん肌。簡単な方法は次のとおりですtr

$ do_stuff | tr -d "\n" >> outputfile

スクリプトとデータ出力を開始したばかりの場合は、次のようにecho正しく使用する習慣を捨てることをお勧めしますprintf

$ printf "test" >> outputfile

printfさまざまな点で、さまざまな理由で優れていますecho。その中で最も重要なのはただ明示的に指示した内容を印刷します(もっと重要なのは、目的の形式で印刷することです)。

おすすめ記事