web-dev-qa-db-ja.com

コマンドラインで改行をエスケープする方法は?

私はこれをする必要があります:

$ echo '
File
Contents
' > my-file

問題は、結果のファイルの最初と最後に改行が含まれていることです。

私はこれを試しましたが、機能しませんでした:

$ echo '\
File
Contents\
' > my-file

私に何ができる?

2
ChocoDeveloper

ヒアドキュメントを使用できるかもしれませんか?

cat << '==end' > my-file
File
Contents
==end
3
choroba

言及されていない別の簡単な答えは次のとおりです。

echo -e "Line 1\nLine 2"

-eオプションを指定すると、echoはバックスラッシュエスケープシーケンスを解釈します。

2
Michael Hampton
printf "%s\n%s\n%s\n" "Line 1", "Line 2", "Line 3"
1
Peter

代わりにcatを使用します:

cat > file

行きたいものをfileに貼り付けて、最後に Ctrl+d 空の行に。

1
Thor