gpt4 book ai didi

用于解析文本文件并匹配字符串的 Perl 脚本

转载 作者:行者123 更新时间:2023-12-02 01:48:47 31 4
gpt4 key购买 nike

我正在编辑我的问题以添加更多详细信息

脚本执行命令并将输出重定向到文本文件。

脚本然后解析文本文件以匹配以下字符串“Standard 1.1.1.1”

文本文件中的输出是:

             Host Configuration
------------------

Profile Hostname
-------- ---------

standard 1.1.1.1
standard 1.1.1.2

如果我搜索 1.1.1.1 或 standard ,则代码有效。当我一起搜索标准 1.1.1.1 时,以下脚本失败。

这是我收到的错误“无法找到字符串:testtest.pl 上的标准 172.25.44.241”

#!/usr/bin/perl
use Net::SSH::Expect;
use strict;
use warnings;
use autodie;

open (HOSTRULES, ">hostrules.txt") || die "could not open output file";
my $hos = $ssh->exec(" I typed the command here ");
print HOSTRULES ($hos);
close(HOSTRULES);

sub find_string
{
my ($file, $string) = @_;
open my $fh, '<', $file;
while (<$fh>) {
return 1 if /\Q$string/;
}
die "Unable to find string: $string";
}

find_string('hostrules.txt', 'standard 1.1.1.1');

最佳答案

也许写一个函数:

use strict;
use warnings;
use autodie;

sub find_string {
my ($file, $string) = @_;
open my $fh, '<', $file;
while (<$fh>) {
return 1 if /\Q$string/;
}
die "Unable to find string: $string";
}

find_string('output.txt', 'object-cache enabled');

或者只是吞下整个文件:

use strict;
use warnings;
use autodie;

my $data = do {
open my $fh, '<', 'output.txt';
local $/;
<$fh>;
};

die "Unable to find string" if $data !~ /object-cache enabled/;

关于用于解析文本文件并匹配字符串的 Perl 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24004021/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com