2013-06-20 42 views
3

我對160.000行文件有點麻煩,這個文件是通過從xlsx文件導出生成的,它有一個.txt擴展名,但是我害怕它已經被導出爲類DOS文件,在每行的末尾有DOS換行符。我正在使用一個用java編寫的解析器,運行在Ubuntu環境中,當我運行解析器(我不能編輯它,因爲它的一部分,我不能訪問源代碼的jar),我得到NumberFormatException其中一些預期,我行結束這樣的:行結束問題DOS> Linux> Java

4449 

但是解析器將其視爲

For input string: "4449&#xd;"< 

你有一個解決方案?再次我不能訪問解析器我自己,我將不得不編輯文件「在我的Ubuntu機器」並刪除這些行結束。

+0

什麼解析器是您使用?可能有一個選項來指定文件結束使用哪一行。 –

+1

聽起來像'sed'可以在10秒內完成。 – Wug

+0

sed無法看到,thx的建議無論如何 – JBoy

回答

5

嘗試在該文件上使用dos2unix命令。這應該修復線路終結器。

> dos2unix winfile.txt unixfile.txt 

參考:
dos2unix man page

+0

這是偉大的,解決了! thx Ravi – JBoy

+0

@JBoy不客氣的隊友。 :) –

0

解析器是找到&#xd;,這是一個窗口回車;但是,它無法解析這些字符。轉到該文件並運行一個快速命令tr -d '\15\32' <winfile.txt> unixfile.txt

參考: http://kb.iu.edu/data/acux.html