最近我一直在使用很多带有10-60k行的文本文件(csv),就像这样
id1,id2
id3,id1
id81,id13
...
大多数时候,我需要以数组的形式提取这些信息:
id1,id2,id3,id1,id81,id13
或者有时,独特的元素数组:
id1,id2,id3,id81
然后我的代码(java)使用结果来做某事。
现在,大多数时候我都会编写一个java函数来完成任务,直接从文件读取,逻辑然后返回ID列表。
是否有更好更快的方法来实现这一点,可能是通过命令行?
更新
如果我被要求构建一个应该读取文件并对其执行某些操作的应用程序,我肯定会用Java编写该逻辑,但在我的情况下,我必须经历很多文本文件数据仓库,从中提取相关信息,然后通过我的基于Java的应用程序运行它。
现在,这仅适用于我的应用实验和评估。
答案 0 :(得分:1)
我将你的输入复制到一个文件test.csv:
$ cat test.csv
id1,id2
id3,id1
id81,id13
现在,使用'tr'实用程序,您可以执行以下操作:
$ cat test.csv | tr '\n' ',' | tr -d ' '
你有:
id1,id2,id3,id1,id81,id13
答案 1 :(得分:0)
除非你的Java代码做的事情愚蠢,否则它将与其他任何东西处于相同的速度范围内。
命令行工具没有任何神奇之处可以让它们比你的代码更快。