- 论坛徽章:
- 0
|
本帖最后由 nizul 于 2015-11-04 09:16 编辑
假设有这样类型的代码 test.sqc:
/**
* @file test.sqc
* @brief 结构体
* @date 2012-12-18
* @author: 小狼
* @details
*------------------------------------------------------------
* 修改日期: 2015-10-09
* 修改人员: XXXXXX
* 修改描述:
* 备注信息: XXXXXXX
* 版本信息: <ver>
* 专题信息: XXXXXXXX专题包
* ----------------------------------------------------------*/
EXEC SQL BEGIN DECLARE SECTION;
double mi_jsmx_dti_dcreate_date = 0; //文件录入日期
char mi_jsmx_dti_sbusiness_type[11] = {0}; //业务类别
double mi_longdti_ddividends_tax = 0;
long mi_jsmx_dti_scp_code[9] = {0};
EXEC SQL END DECLARE SECTION;
double mis_tax = 0;
long mi_je[9]
/* --------------------------------------------------------------
* 函数名称:SignalTerm
* 函数功能:安装信号集处理函数
* 入口参数:
* 返回类型:
* 备 注:
* -------------------------------------------------------------*/
BOOL SignalTerm()
{
struct sigaction act;
act.sa_handler = sigterm_trf;
act.sa_flags = 0;
sigemptyset(&act.sa_mask);
sigaction(SIGTERM,&act,NULL);
sigaction(SIGHUP,&act,NULL);
sigaction(SIGINT,&act,NULL);
sigaction(SIGQUIT,&act,NULL);
sigaction(SIGUSR1,&act,NULL);
sigaction(SIGUSR2,&act,NULL);
return TRUE;
}
......
现在想批量给这种代码添加注释抬头,我的做法是这样的:
sed '/^\/\*/,/\*\/$/{c\
\* ----------------------------------------------------------\
\* 修改日期: 2015-10-09\
\* 修改人员: add_comment\
\* 修改描述: \
\* 备注信息: XXXXXXXXXXXX
\* 版本信息: <ver>\
\* 专题信息: XXXXXX专题包\
\* ---------------------------------------------------------\*\/
}' test.sqc
但是 '/^\/\*/,/\*\/$/ 这种写法又会匹配修改到下面的 SignalTerm 函数的抬头,请问应该怎样只在文件头添加注释呢?
最终效果希望变成下面这个样子:
/**
* @file test.sqc
* @brief 结构体
* @date 2012-12-18
* @author: 小狼
* @details
*------------------------------------------------------------
* 修改日期: 2015-10-09
* 修改人员: XXXXXX
* 修改描述:
* 备注信息: XXXXXXX
* 版本信息: <ver>
* 专题信息: XXXXXXXX专题包
* ----------------------------------------------------------
* 修改日期: 2015-10-09
* 修改人员: add_comment
* 修改描述:
* 备注信息: XXXXXXXXXXXX
* 版本信息: <ver>
* 专题信息: XXXXXX专题包
* ---------------------------------------------------------*/
EXEC SQL BEGIN DECLARE SECTION;
double mi_jsmx_dti_dcreate_date = 0; //文件录入日期
char mi_jsmx_dti_sbusiness_type[11] = {0}; //业务类别
double mi_longdti_ddividends_tax = 0;
long mi_jsmx_dti_scp_code[9] = {0};
EXEC SQL END DECLARE SECTION;
double mis_tax = 0;
long mi_je[9]
/* --------------------------------------------------------------
* 函数名称:SignalTerm
* 函数功能:安装信号集处理函数
* 入口参数:
* 返回类型:
* 备 注:
* -------------------------------------------------------------*/
BOOL SignalTerm()
{
struct sigaction act;
act.sa_handler = sigterm_trf;
act.sa_flags = 0;
sigemptyset(&act.sa_mask);
sigaction(SIGTERM,&act,NULL);
sigaction(SIGHUP,&act,NULL);
sigaction(SIGINT,&act,NULL);
sigaction(SIGQUIT,&act,NULL);
sigaction(SIGUSR1,&act,NULL);
sigaction(SIGUSR2,&act,NULL);
return TRUE;
}
......
|
|