如何将shell转换为perl

时间:2013-11-29 02:21:52

标签: perl shell

这是Shell脚本的一部分。 这是检查磁盘使用情况。 我想知道它如何转换为perl脚本? 请帮助我。

DFCMD="df -P"

for fs in `eval $DFCMD`; do

FS=`echo $fs | awk ' { print $1 } '`

done

由于

3 个答案:

答案 0 :(得分:1)

可能有一个1行,但我会这样做(未经测试)

my @command = qw/df -P/;
open(my $in, "-|", @command) or die "Can't run `@command`: $!";
while(<$in>) {
    my ($first_col) = split;
    print "$first_col\n";
}

答案 1 :(得分:1)

perl -le 'print /(\S+)/ for `df -P`'

答案 2 :(得分:0)

好吧,在perl中,经常使用system()函数来执行shell命令,但是system()函数不能返回命令的输出。你可以使用反引号(``)来获取输出。使用输出,您可以将shell脚本转换为perl脚本

  1 #!/usr/bin/perl
  2 use strict;
  3 use warnings;
  4
  5 my @output = split('\r\n', `df -P | awk '{print \$1}'`);
  6 print @output;