【經驗教訓】shell read echo中的轉義字符

    近期用shell在處理數據時,發現read命令在讀取數據時會把\t替換成空格,以及行末尾的\t捨棄。查看read的help,發現-r可以保留轉義字符,搜了一下有人也說可以用-r,但是我的實驗結果卻是即使-r也還是依舊。無奈該用awk進行的數據處理。使用\t作爲數據字段分割符在數據挖掘過程中是經常用到的,以及map reduce默認的key與value的分隔符也是\t,故使用shell的read命令時還是要注意點的。

    同樣,echo命令默認是不識別轉義字符的,比如echo "123\t123",他會直接把123\t123打印出來,如果想讓起識別,則需使用  echo -e string;考慮到對其命令的不瞭解,我一般在輸出重要數據時使用printf;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章