我讀取由外部第三方生成的一些數據。我注意到文件中的ASCII文本中散佈着^ M個字符,我認爲它是ASCII中的字符13,並且表示沒有換行的回車。
有沒有可用於從文件中去除^ M個字符的單線程?
我在Linux(Ubuntu)上運行。
我讀取由外部第三方生成的一些數據。我注意到文件中的ASCII文本中散佈着^ M個字符,我認爲它是ASCII中的字符13,並且表示沒有換行的回車。
有沒有可用於從文件中去除^ M個字符的單線程?
我在Linux(Ubuntu)上運行。
您可以用sed這樣的:
sed -i.bak 's/^M$//' infile.txt
要鍵入^M
,你需要輸入CTRL-V
,然後CTRL-M
。
OR
dos2unix infile.txt file2.txt ....
OR
man dos2unix
瞭解更多詳情。
IHTH
謝謝。這是我所需要的。我猜infile.txt是要清理的文件嗎?,不知道i.bak是什麼,或許我會去查看手冊,除非你足夠親切來解釋..? –
@HomunculusReticulli:非常歡迎。 sed中的'-i'標誌用於文件的內聯編輯,'-i.bak'用於保存原始輸入文件,擴展名爲.bak,用於安全措施。 – anubhava
'-i.bak'是一個GNU'sed'擴展名,意思是'在原地修改文件,用'.bak'擴展名來備份原文。不過,閱讀手冊仍然是一個好主意。 –