【发布时间】:2019-11-09 12:00:09
【问题描述】:
我有一个包含多个作业内容的文件,例如:
insert_job: 18132_TAL_D_DS_PEAR_AUTORECON job_type: CMD
command: $ADM_BIN/pear_generic_wrapper.ksh
owner: gpadmin
permission:
在这里,我需要为每个 insert_job 添加一行:
insert_job: 18132_TAL_D_DS_PEAR_AUTORECON job_type: CMD
condition: 18132_D_DS_PEAR_AUTORECON
所以,基本上是 2 个步骤(首先复制行作业名称;然后在打印为条件的第二行复制行中将 18132_TAL_ 替换为 18132_:)
为此,我对每个 insert_job 行都进行到这一点:
insert_job: 18132_TAL_D_DS_PEAR_AUTORECON job_type: CMD
insert_job: 18132_TAL_D_DS_PEAR_AUTORECON
现在,要更新第二行以将 insert_job 替换为条件,并将 18132_TAL_ 替换为 18132_,我被卡住了。
我正在尝试编写类似的代码:
$ cat input.dat | awk '($0!~"job_type") {print $0|sed "s/insert_job/condition/"} 1'
但是,sed 在这里不起作用,它会给出语法错误。
您能否帮助在print $0 之后使用 sed 的正确语法。
【问题讨论】: