一个header
文件是通过运行主脚本生成的,并且它的内容在我运行程序的任何时候都会发生变化。我想将头文件的内容分配给其他三个文件作为它们的标题。除标题外,其他三个文件的内容不应更改。例如对于file1
header content
file1 content
为了file2
header content
file2 content
它是如何完成的?
注意:请考虑程序运行多次,因此必须覆盖标头而不是很多标头。
运行此代码一次以保留没有标题信息的原始文件:
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 是包含不断变化的标题信息的文件。
如果之前没有保存过,此代码将备份每个 $file,然后将标题连接到保存的正文中。只需确保第一次运行脚本时文件没有标题即可。
for file in myfile{1,2,3}
do
[ -f $file.body ] || mv $file $file.body
cat header $file.body >$file
done
cat
应该这样做
cat header file1 > file1-t
mv file1-t file1
cat headerfile file1 > file1_withHeader