我在a.csv b.csv…文件夹中有5个文件。。。。
我需要将这些文件合并成一个名为X.csv的文件,并且在将来继续将X.csv的内容与a、b、c等合并。
即使每个文件只有两行,我也会收到一条错误消息,说内存不足,实际上只有10行。Im使用以下命令:

 paste -d, *.csv >> X.csv.

但是当我使用
 paste -d, *.csv > X.csv

没有内存问题。不过,我不能使用这个,因为我需要的X.CSV文件的信息,以及之前,所以我应该只追加不编辑整个文件的内容。
有人知道我是怎么做到的吗?这些是“,”分隔的CSV文件,我不想复制多次命名列的标题(第1行)。
我使用MacOSXMavericks 8GB内存。
谢谢:)

最佳答案

正如@loreb所说,*.csv也与X.csv匹配。使用适当的globbing variable可以避免这种情况,但这取决于您的shell是否能够处理这种情况。。。我知道bash可以,你用bash标签发布了你的问题,但是你说你正在使用MacOSX-好吧,我想你还是可以试试。

paste -d, [a-z]*.csv >> X.csv

这将对名为frompastetoa.csv的文件运行z.csv命令,小写,因此不会使用X.csv,我认为这是当前的问题。

关于linux - 内存问题:Shell脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24610016/

10-11 19:14
查看更多