【问题标题】:df output issuesdf输出问题
【发布时间】:2012-06-05 03:14:28
【问题描述】:
$df_ret = `ssh -q rajesh 'df -hP'`;

print "The value is $df_ret";   

if ($df_ret =~ /\/boot/) 
{
    print "The value is $df_ret";
}

预期结果:

/dev/sda1               126931     39530     80848  33% /boot

但是,它是完整的df -k 输出。有什么想法吗?

【问题讨论】:

    标签: perl shell


    【解决方案1】:

    您的正则表达式与整个输出匹配为一个字符串。您可能希望先将其分成几行,然后再匹配每一行:

    my @df_ret = `ssh -q rajesh 'df -hP'`;
    
    foreach my $line (@df_ret) {
        if ($line =~ m! /boot$!)
        {
            print "The value is $line";
        }
    }
    

    【讨论】:

      【解决方案2】:

      只使用外壳:

      ssh -q rajesh 'df -hP' | grep /boot
      

      【讨论】:

      • +1 如果 OP 使用 perl 只是为了处理输出,而不是在更大的 perl 脚本范围内使用 ssh。
      猜你喜欢
      • 2022-01-25
      • 2012-06-15
      • 1970-01-01
      • 2021-02-09
      • 2018-10-11
      • 2011-08-16
      • 2011-07-29
      • 2012-09-21
      • 1970-01-01
      相关资源
      最近更新 更多