行尾问题 DOS > Linux > Java

3

我在处理一个有160,000行的文件时遇到了一些问题,这个文件是通过从xlsx文件中导出而来的,它具有.txt扩展名,但我担心它已经被导出为类似DOS的文件,在每行的末尾它有DOS换行符。我正在使用Java编写的解析器,在Ubuntu环境下运行,当我运行解析器时(由于它是我无法访问源代码的jar的一部分,因此无法编辑),我会得到NumberFormatException,因为需要一个数字,我的行以这样结束:

4449

但是解析器将其视为

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

你对此问题有解决方案吗?我无法访问解析器本身,所以我必须在“我的Ubuntu机器”上编辑文件并删除这些行结尾。


你使用的是哪个解析器?可能有一个选项可以指定文件使用哪种行结束符。 - Rob Watts
1
听起来像是 sed 可以在大约 10 秒钟内完成的事情。 - Wug
sed 没有看到,无论如何感谢您的建议。 - JBoy
2个回答

5
尝试在该文件上使用dos2unix命令。这应该可以修复行结束符。
> dos2unix winfile.txt unixfile.txt

Reference:
dos2unix man page


0
解析器正在查找Windows回车符&#xd;,但无法解析这些字符。请前往文件并运行快速命令tr -d '\15\32' < winfile.txt > unixfile.txt

Reference: http://kb.iu.edu/data/acux.html


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接