我想在Perl中发出find命令并循环生成文件路径.我正在尝试它(但没有运气):
my $cmd;
open($cmd, '-|', 'find $input_dir -name "*.fastq.gz" -print') or die $!;
while ($line = <$cmd>) {
print $line;
}
close $cmd;
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
谢谢
您没有对*角色应用足够的转义。前置 a\应该修复它。
最好首先不要通过分隔参数来调用 shell:
use warnings;
use strict;
open(my $cmd, '-|', 'find', $input_dir, '-name', '*.fastq.gz', '-print') or die $!;
while (my $line = <$cmd>) {
print $line;
}
close $cmd;
Run Code Online (Sandbox Code Playgroud)