Io-Redirection
如何從重定向輸出中刪除換行符
如果我像這樣重定向輸出,我可以刪除換行符嗎?
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
在許多方面和原因上都優於,其中最重要的是它只列印您明確告訴它的內容(並且可以說更重要的是,以您想要的格式)。