我搜索了一个模式,比如“START OF ARAMBOL”,它在一个文件中匹配。现在我想注释从第 1 行到当前匹配模式第 1 行的每一行。我必须为 200 多个文件执行此操作。
我也可以使用 perl 来做到这一点,但是有什么好的 sed 方法可以做到这一点。
谢谢
我无法照顾特殊字符。
我有以下 perl 脚本。
while(@mapping_array[$i])
{
chomp(@mapping_array[$i]);
my @core= split ( / / , $mapping_array[$i]) ;
@core[0] =~ tr/ //ds ; ## Deleting blank spaces
@core[1] =~ tr/ //ds ;
system("perl -pi -e 's/@core[0]/@core[1]/' $testproc ");
print "@core[0] \n";
print "@core[1] \n";
$i++;
}
Run Code Online (Sandbox Code Playgroud)
问题是我的@core[0]
变量可能是一个简单的字符串,abc
比如TEST[1]
. 我的脚本按预期工作abc
,用 的值替换它@core[1]
,但如果我的@core[0]
是,它会失败TEST[1]
。
在替换运算符中使用?
而不是/
没有帮助。我怎样才能正确地做到这一点?