Unix 如何有效地将头文件的内容附加到许多文件中?

Unix 如何有效地将头文件的内容附加到许多文件中?,unix,header,file-copying,Unix,Header,File Copying,我有大约400个大小约为350MB的纯文本文件。我想将头文件(包含7行纯文本)的内容预先添加到这400个文件中的每个文件中 目前,我正在对400个文件进行循环,并使用cat,然后是mv。以下是伪代码: for $infile in $indir { cat $headerfile $infile > $infile.tmp mv $infile.tmp $infile } 有更有效的方法吗?如果不复制文件的其余部分,则无法在文件中插入。就操作而言,伪代码是最“有效”的方法

我有大约400个大小约为350MB的纯文本文件。我想将头文件(包含7行纯文本)的内容预先添加到这400个文件中的每个文件中

目前,我正在对400个文件进行循环,并使用
cat
,然后是
mv
。以下是伪代码:

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

有更有效的方法吗?

如果不复制文件的其余部分,则无法在文件中插入。就操作而言,伪代码是最“有效”的方法

可能有帮助的是将中间文件写入tmpfs,以避免向磁盘写入两次:

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

(如果要运行并行命令,请根据需要更改
tmp

Thx用于
tmpfs
提示