系統管理
1825581 會員
2070 線上
109682 解決方案
發表新文章

請問高手 一個轉檔問題

 
watermelonyu
教授

請問高手 一個轉檔問題

小弟的file 從windown os ftp上 unix 結果檔案都變成下列這樣:

set pagesize 10000^M

set heading off^M

spool /dba/wrongidx.txt^M

select owner||'.'||INDEX_NAME || ' PUT ON '||tablespace_name FROM DBA_INDEXES WHERE OWNER='CMS'

and tablespace_name <>'PPS_DATA';^M

spool off;^M

exit;^M

^M

~

請問各位高手 有辦法讓檔案還原嗎

感恩唷
7則回覆 7
watermelonyu
教授

請問高手 一個轉檔問題

如果是傳文字檔案, 請用ascii模式, 如果是傳非文字檔案, 請用binary模式.



如果沒辦法重新傳檔, 那就手動把^M拿掉吧.
watermelonyu
教授

請問高手 一個轉檔問題

我的習慣就是不管是什麼檔案都用binary 傳

如果是遇到ascii 的文字檔會有換行字元被塞成null字元

這時候用wordpad打開就可以把null改成換行字元了

watermelonyu
教授

請問高手 一個轉檔問題

前面提到"手動把^M拿掉",提供一個較笨的方法: 先用vi編輯該檔案,然後按ESC, 再按":"進入命令模式, 鍵入"1,$s/^M//g",再按Enter, 就完成了,當然最後要記得:wq!存檔哦! 不過不知道其它高手可不可以提供直接使用sed或awk指令直接轉回的方法?!

(註:要注意^M是先按住CTRL-V,再按CTRL-M產生出來的)
watermelonyu
教授

請問高手 一個轉檔問題

可以用 /usr/bin/dos2ux 將檔案轉換.
watermelonyu
教授

請問高手 一個轉檔問題

可以用 /usr/bin/dos2ux 將檔案轉換.
watermelonyu
教授

請問高手 一個轉檔問題

感謝唷 這樣就可以解決問題囉
watermelonyu
教授

請問高手 一個轉檔問題

dos2ux /dba/wrongid.sql.old > /dba/wrogid.sql



這樣就可以把檔案給轉過去囉 並且把^M 給用掉

真是好用 解決問題囉 感恩囉