将许多文件连接成更大的文件而没有标题

时间:2016-06-07 22:03:07

标签: r cmd header concatenation

我试图在R中执行此操作,但Windows命令行也可以正常工作。

我已经让我们说了10个大文件,每个文件在第一行都有一个标题。我想要一个包含所有这些文件但没有标题的文件。

我能找到的最快的方法是尝试"复制/ b"命令将所有这些文件连接成一个更大的文件,然后使用SED软件执行命令行查找该大文件中的标题模式并删除它们。

SED很慢,我不想在任何需要这种方法的机器上安装SED。有没有办法使用copy \ b命令从第二行粘贴到更大的文件?

我也已经完成了通过" fread"将文件读入内存的技巧。从data.table包然后使用write.table并附加以生成更大的文件。 (但是write.table是超级超级慢的,并且" fwrite" data.table的命令还没有在CRAN上出来......它仍然在github上开发,所以它可能不那么稳定正如我所希望的那样。)

有人有建议吗?

由于

1 个答案:

答案 0 :(得分:0)

你可以在R中尝试这样的事情。下面是一个Rscript来做这件事。

cmdArgs<-c("peakListFile.txt") # read a list of all files that you want to concatenate
peakList<-cmdArgs[1]
peakFileDF<-read.table(peakList, header=F) # create a df for list file

tempdf<-matrix(,, ncol=10, dimnames=list(c(), c("V1", "V2", "V3", "V4", "V5","V6", "V7", "V8", "V9", "V10"))) # create an empty df

for(i in peakFileDF$V1)
{
tmp<-read.delim(i, sep="\t", header=F, stringsAsFactors=F)
tempdf<-rbind(tmp, tempdf)
}
tempdf<-tempdf[rowSums(is.na(tempdf)) != ncol(tempdf),] # Removing the line with NA coming from creation of empty df above