为多个文件(Linux)分配标头

时间:2013-05-15 06:23:38

标签: linux sed awk grep cat

通过运行主脚本生成header文件,并在运行程序时随时更改其内容。我想将头文件的内容分配给其他三个文件作为其标题。除了标题之外,其他三个文件的内容不应该更改。例如file1

header content
file1 content

代表file2

header content
file2 content

怎么做?

注意:请考虑该程序运行多次,因此必须覆盖标头而不是多个标头。

3 个答案:

答案 0 :(得分:1)

运行此代码一次以保留原始文件而不显示标题信息:

for file in myfile1 myfile2 myfile3
do
  cp ${file} ${file}.orig
done

每次头文件更改时运行此代码

for file in myfile1 myfile2 myfile3
do
  cat header ${file}.orig > ${file}
done

其中myfile1,myfile2和myfile3是您引用的3个原始文件,header是包含不断变化的标题信息的文件。

答案 1 :(得分:1)

此代码将备份每个$文件(如果之前尚未保存),然后将标题加入已保存的正文。只需确保第一次运行脚本时文件没有标题。

for file in myfile{1,2,3}
do
    [ -f $file.body ] || mv $file $file.body
    cat header $file.body >$file
done

答案 2 :(得分:0)

 cat headerfile file1 > file1_withHeader