テキストをbashの新しい行でエコーする


35

ファイルにテキストを追加したいと思います。だから私はbashで書いた

echo text >> file.conf

ただし、新しい行は残されません。だから私はこれを一度だけ行うことができます。新しい行を追加するにはどうすればよいですか?


5
どういう意味ですか?余分な改行?echoデフォルトで改行を追加します。
追って通知があるまで一時停止します。

4
echoデフォルトで改行を残します-2つ残すために必要ですか?また、これをLinuxシステムで実行し、WindowsまたはMacシステムでファイルを開く場合は、エディターが* nix改行をサポートしているか、複数行であってもすべて1行で表示されることを確認してください。
ダースアンドロイド

回答:


79

オプション1:

% echo -e "text\n" >> file.conf

オプション2:

% ( echo text ; echo "" ) >> file.conf

オプション3:

% echo text >> file.conf
% echo ""  >> file.conf

7
空の引数(echo ""=> echo)をドロップできます。また、オプション4:はecho $'text\n'$''bashによって解釈されるため、すべてのコマンドに役立ちます。

7

適切な答えはあなたのコマンド

エコーテキスト>> file.conf

余分な行を追加していますが、後の新しいテキスト、前ではなく。

おそらく最初のファイルが新しい行で終わっていないために、そのテキストの前に余分な行を追加したいと思います。その場合は、使用できます

echo -e "\ ntext" >> file.conf

代わりに、-eオプションで改行\n文字を使用できるため。


3

アキラの応答に追加するだけ

オプション4:

ctrl-v ctrl-mキーコンボを2回使用して、端末に2つの改行制御文字を挿入します。Ctrl-vを使用すると、端末に制御文字を挿入できます。必要に応じて、ctrol-mの代わりにEnterキーまたはReturnキーを使用できます。同じものを挿入します。

これは最終的に次のようになります echo text^M^M >> file.conf


2
キャリッジリターン(linux / unix)の代わりに改行が必要な場合は、echo "text^J^J" >> file.conf^ J と入力すると、実際にリテラルの改行が挿入される場合があります。引用符を入れてください。
ダースAndroid
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.