我正在尝试使用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();
答案 0 :(得分:0)
我为我的问题找到的解决方案非常简单: 只需在每个文本之前加上\。