0

一个header文件是通过运行主脚本生成的,并且它的内容在我运行程序的任何时候都会发生变化。我想将头文件的内容分配给其他三个文件作为它们的标题。除标题外,其他三个文件的内容不应更改。例如对于file1

header content
file1 content

为了file2

header content
file2 content

它是如何完成的?

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

4

4 回答 4

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 是包含不断变化的标题信息的文件。

于 2013-05-15T06:32:16.383 回答
1

如果之前没有保存过,此代码将备份每个 $file,然后将标题连接到保存的正文中。只需确保第一次运行脚本时文件没有标题即可。

for file in myfile{1,2,3}
do
    [ -f $file.body ] || mv $file $file.body
    cat header $file.body >$file
done
于 2013-05-15T06:38:58.600 回答
0

cat应该这样做

cat header file1 > file1-t
mv file1-t file1
于 2013-05-15T06:30:28.650 回答
0
 cat headerfile file1 > file1_withHeader
于 2013-05-15T07:04:29.157 回答