Io-Redirection

如何從重定向輸出中刪除換行符

  • January 2, 2019

如果我像這樣重定向輸出,我可以刪除換行符嗎?

echo "a" >> file

我的腳本中有類似的內容,其中包含一個將每個字元(數字除外)重定向到文件的 for 循環。但我的目標是將這個輸出放在一行中。假設我重定向“a”十次,所以它應該如下所示:

a a a a a a a a a a

但它看起來像這樣:

a
a
a
a 
[etc.]

如果您特別詢問echo,您可以使用-n來抑制換行符:

$ echo -n "test" >> outputfile

如果您更一般地詢問如何抑制管道或重定向數據中的換行符,這是一隻有很多皮膚的貓。一種簡單的方法是tr

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

如果您剛剛開始編寫腳本和輸出數據,最好擺脫echo完全使用的習慣,支持printf

$ printf "test" >> outputfile

printf``echo在許多方面和原因上都優於,其中最重要的是它只列印您明確告訴它的內容(並且可以說更重要的是,以您想要的格式)。

引用自:https://unix.stackexchange.com/questions/492071