歡迎您光臨本站 註冊首頁

shell自動生成的文件有一個問號的後綴

←手機掃碼閱讀     火星人 @ 2014-03-08 , reply:0

寫了一個腳本,自動處理一個文件.

rm -f session.log
rm -f link
wget ftp://hostname/f:/ddn/session.log
egrep '^N[[:digit:]]|^D[1-4]' session.log >>link
egrep -c '^N[[:digit:]]|^D[1-4]' session.log >>link
egrep -v 'ACT/UP' link>>link
ls -l session.log >>link
gedit link

結果下載下來的session.log的文件名變成了加了一個奇怪字元,link變成了link?如下圖.

後續對link session.log文件的處理就會提示無法找到相應的文件.

搜了半天沒有找到相應的中文資料.

這裡這種情況的出現是因為,腳本是在windows下編寫的,然後傳到linux上運行,而windows下的斷行符是^M$ linux下的斷行符是$linux運行的時候無法識別$之前的^M,顯示了奇怪的字元.

如下圖所示

關於如何刪解決參考這裡

:http://hi.baidu.com/xyhouse/blog/item/0a54051f9f078fc0a786698b.html


要將a.txt里的^M去掉並寫入b.txt,則使用如下指令cat a.txt | tr -d "^M" > b.txt
注意:語句中的^M是通過ctrl V, ctrl M輸入的.特指/r字元

1.windows中的換行符是\r\n,

2. linux/unix下的換行符是\n.

其中:

回車符:\r=0x0d (13) return; #回車(carriage return)

換行符:\n=0x0a (10) newline.#換行(newline)

本文出自 「litsand的筆記」 博客,請務必保留此出處http://litsand.blog.51cto.com/640129/843138



[火星人 ] shell自動生成的文件有一個問號的後綴已經有667次圍觀

http://coctec.com/docs/linux/show-post-45729.html