【发布时间】:2013-05-15 06:23:38
【问题描述】:
header 文件是通过运行主脚本生成的,并且它的内容在我运行程序时随时更改。我想将头文件的内容分配给其他三个文件作为它们的标题。除标题外,其他三个文件的内容不应更改。例如file1
header content
file1 content
为file2
header content
file2 content
它是如何完成的?
注意:请考虑程序运行多次,因此必须覆盖的标头不是很多标头。
【问题讨论】:
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
【讨论】: