我试图使用 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();