用sed代替全线

时间:2019-11-20 09:25:52

标签: perl sed

我正在尝试使用sed命令在文本文件中查找错误,并将其替换为其他内容。

就像我在sed之前说过的那样,sed非常适合我,而在文本中不使用双引号,而且->〜不会像您建议的那样工作,除非我使用错了。 Perl脚本

#!/usr/bin/perl

use strict;
use warnings;
my @array = (
"^OPTIONS.*\-X",
"^OPTIONS.*\-x"
);

my $Replace_To = 'OPTIONS="-u hello:bye -p /var/run/myfile.pid -g"'
chomp $Replace_To;
my strCommand;
my $array;

sub main
{
   my $hostname = `hostname -s`;
   chomp $hostname;
   foreach $array(@array)
   {
       my $execute = `awk '/$array/' /tmp/file.txt
       if($execute)
       {
          chomp $execute;
          $strCommand = `sed -i 's/$execute/$Replace_To/g' /tmp/file.txt`;
       }
   }

}
&main();

1 个答案:

答案 0 :(得分:0)

我为我的问题找到的解决方案非常简单: 只需在每个文本之前加上\。