2013-07-15 60 views
0

我有大約400個大小約爲350MB的純文本文件。我想把這些頭文件(包含7行純文本)的內容預先添加到這400個文件中的每一個文件中。如何有效地將頭文件的內容追加到很多文件中?

目前,我正在循環播放400個文件,並使用cat,然後是mv。這裏是僞代碼:

for $infile in $indir { 
    cat $headerfile $infile > $infile.tmp 
    mv $infile.tmp $infile 
} 

有沒有更高效的方法來做到這一點?

回答

2

插入在一個文件中是不可能而不復制的文件的剩餘部分。就操作而言,您的僞代碼是最「高效」的方法。

什麼可以幫助正在寫中間文件到tmpfs以避免磁盤寫兩次:

cat "$headerfile" "$infile" > /tmp/tmp 
mv /tmp/tmp "$infile" 

(其他城市tmp,如果你想運行並行命令需要)。

+0

Thx的'tmpfs'尖端 – arun

相關問題