perl脚本中的awk用法
嗨,我正在写一个脚本,它需要使用awk命令对输出的第6列进行grep处理,但我得到了其他输出。 perl中使用awk提取第6列的确切语法是什么perl脚本中的awk用法,perl,awk,Perl,Awk,嗨,我正在写一个脚本,它需要使用awk命令对输出的第6列进行grep处理,但我得到了其他输出。 perl中使用awk提取第6列的确切语法是什么 #!/usr/bin/perl use strict; use warnings; use diagnostics; my $filesystem=`df -h |grep -i dev|grep -vE '^Filesystem|proc|none|udev|tmpfs'`; print "(\"$filesystem\"|awk '{print \$
#!/usr/bin/perl
use strict;
use warnings;
use diagnostics;
my $filesystem=`df -h |grep -i dev|grep -vE '^Filesystem|proc|none|udev|tmpfs'`;
print "(\"$filesystem\"|awk '{print \$6}')"
Output :
7831c1c4be8c% ./test.pl
("/dev/disk1 112Gi 43Gi 69Gi 39% 11227595 18084674 38% /
devfs 183Ki 183Ki 0Bi 100% 634 0 100% /dev
"|awk '{print $6}')%
我正在尝试删除%1。如何删除
7831c1c4be8c% cat test.pl
#!/usr/bin/perl
use warnings;
use strict;
open my $FS, q(df -h |) or die $!;
while (<$FS>) {
print +(split)[4], "\n"
if /dev/i and not /devfs/;
}
7831c1c4be8c% ./test.pl
40%
Perl中不需要awk
#!/usr/bin/perl
use warnings;
use strict;
open my $FS, '-|', q(df -h) or die $!;
while (<$FS>) {
print +(split)[5], "\n"
if /dev/i and not /^Filesystem|proc|none|udev|tmpfs/;
}
Perl中不需要awk
#!/usr/bin/perl
use warnings;
use strict;
open my $FS, '-|', q(df -h) or die $!;
while (<$FS>) {
print +(split)[5], "\n"
if /dev/i and not /^Filesystem|proc|none|udev|tmpfs/;
}
正如前面的答案所说,在perl中不需要awk或grep系统调用。但是,我要告诉您,代码不起作用的一个原因是您从未进行过awk系统调用。print不执行系统调用。您必须使用系统来执行它 总之,fwiw您也可以在一行中做您想做的事情,如下所示:
df -h | perl -lnae 'next if $F[0] =~ /regex/; print $F[5]'
正如前面的答案所说,在perl中不需要awk或grep系统调用。但是,我要告诉您,代码不起作用的一个原因是您从未进行过awk系统调用。print不执行系统调用。您必须使用系统来执行它 总之,fwiw您也可以在一行中做您想做的事情,如下所示:
df -h | perl -lnae 'next if $F[0] =~ /regex/; print $F[5]'
您在perl中使用awk的原因是什么?给我们一些输入数据和您喜欢的数据。我想只有使用grep或awk才有可能解决这个问题。您为什么要在perl中使用awk?请给我们一些输入数据以及您喜欢的数据。我想只有使用grep或awkNor才有可能解决这个问题,所以你需要grep来解决这个问题,我确信除了使用df还有其他选择:@TomFenech:处理它:你也不需要grep来解决这个问题,我确信除了使用df还有其他选择:@TomFenech:处理它:为什么echo$df-h |。。。而不仅仅是df-h |@user000001哈,你说得对。回音是完全没有必要的。正如您所知,我单独使用perl比使用$df-h |。。。而不仅仅是df-h |@user000001哈,你说得对。回音是完全没有必要的。可以看出,我单独使用perl比使用bash要多得多