1

最近我一直在使用很多 10-60k 行的文本文件(csv),像这样

id1,id2  
id3,id1  
id81,id13  
...

大多数时候,我需要以数组的形式提取这些信息:

id1,id2,id3,id1,id81,id13

或者有时,独特的元素数组:

id1,id2,id3,id81

然后我的代码(java)使用结果来做某事。

现在,大多数时候我编写一个 java 函数来为我完成任务,从文件读取、逻辑然后返回 Id 列表。

有没有更好更快的方法来实现这一点,也许是通过命令行?

更新:

如果我被要求构建一个应该读取文件并对其执行某些操作的应用程序,我肯定会用 Java 编写该逻辑,但就我而言,我必须检查从数据仓库中获取的大量文本文件,从中提取相关信息,然后在我的基于 java 的应用程序上运行它。

现在,这仅用于我的应用程序的实验和评估。

4

2 回答 2

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
于 2011-10-03T21:50:49.877 回答
0

除非您的 Java 代码正在做一些愚蠢的事情,否则它将与其他任何代码处于相同的速度范围内。

命令行工具没有什么神奇之处可以让它们比你的代码更快。

于 2011-10-03T21:43:19.640 回答