於 Bash shell echo 輸入換行字元的寫法

要於 Bash shell 的 CLI 界面,echo 某些字元導入檔案中,要怎麼寫?

於 Bash shell echo 輸入換行字元的寫法

echo 可以使用 -e 的參數,或者直接使用 printf 來達成,範例如下:

  1. $ echo -e "1\n2\n3\n4\n5\n" > filename
  2. $ printf "hello\nworld\n" > filename
  3. $ printf "\n" > filename
  4. $ cat filename # 就可以看到換行的內容
  5. printf "\n" | iconv -f utf-8 -t utf-16 >> filename # UTF-16 的 newline 換行
    printf "\n" | iconv -f utf-8 -t utf-16 | xxd 和 printf "\n" | xxd 可以看到 UTF-8 和 UTF-16 的差異

另外一種是把 \n 獨立出來,不過這不太好記憶,先列範例即可

  • $ echo $'hello\nworld' > filename
  • $ echo Hello$'\n'world > filename

Save

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料