-2

我有一个文件,它是我们服务器中所有 autosys 作业的 jil 代码的摘录。

示例jil代码:

permission:gx,wx  
date_conditions:yes  
days_of_week:all  
start_times:"05:00"  
condition: notrunning(appDev#box#ProductLoad)

我们想为服务器中的所有作业添加一个新的依赖条件。
因此,我们需要在行尾添加一个新字符串(具有依赖条件的行),如下所示,然后将作业重新加载到服务器:

condition: notrunning(appDev#box#ProductLoad) & s(new_job_dependency)

我们在服务器中有 10000 多个作业(以及文件中的 100K 行数据),并且无法逐行读取并进行更改。
我们必须在行首搜索字符串“condition:”,然后在同一行的末尾添加新字符串“new_job_dependency”。

有人可以建议一种方法来实现这一目标吗?

4

2 回答 2

0

sed能帮你:

$ sed '/^condition:/s/$/ \& s(new_job_dependency)/' file
permission:gx,wx  
date_conditions:yes  
days_of_week:all  
start_times:"05:00"  
condition: notrunning(appDev#box#ProductLoad) & s(new_job_dependency)

-i.bak如果您希望动态更新.bak文件并创建备份文件,您可以添加。

sed -i.bak '/^condition:/s/$/ \& s(new_job_dependency)/' file

要将其应用于特定目录,请执行以下操作:

sed -i.bak '/^condition:/s/$/ \& s(new_job_dependency)/' your_dir/files*
于 2014-07-15T15:07:40.717 回答
0

用一些 perl 魔法替换所有这些怎么样

perl -i -pe  's#^condition: (.*)$#condition: $1 & s(new_job_dependency)#g' filename
于 2014-07-15T15:06:35.433 回答