0
我是Perl的新手。我必須完成一項任務。我有一個目錄,並在該目錄中有130個子目錄。從這些目錄有報告子目錄和報告,有一個.txt文件,我想從該文件中獲取模式。Perl:遍歷目錄並從文件中獲取模式
同樣,我必須做所有的事情,並得到模式。
任何人都可以請示例代碼幫助或如何做到這一點?
任何幫助將不勝感激。
我是Perl的新手。我必須完成一項任務。我有一個目錄,並在該目錄中有130個子目錄。從這些目錄有報告子目錄和報告,有一個.txt文件,我想從該文件中獲取模式。Perl:遍歷目錄並從文件中獲取模式
同樣,我必須做所有的事情,並得到模式。
任何人都可以請示例代碼幫助或如何做到這一點?
任何幫助將不勝感激。
開始與此:
#!/bin/env perl
use strict; use warnings;
my ($dir) = @ARGV;
$dir // die "No dir supplied";
die "Dir not found: $dir" unless (-e $dir);
die "Not a dir: $dir" unless (-d $dir);
my @files = <$dir/*/txtfile.txt>;
foreach my $file (@$files) {
my $file_contents = undef;
# read the patten from file..
open (my $fh, '<', $file) or die "Can't open $file. $!";
# Read the file contents here..
{
local $/ = undef;
$file_contents = <$fh>;
}
close $fh;
# Do something more
}
這種方法被稱爲文件通配符。使用專門編寫的模塊有更好的方法,但這種方法很有效。這與在終端窗口輸入ls -l mydir/*/txtfile.txt
是一樣的。
歡迎來到Stack Overflow!你能告訴我們你到目前爲止所嘗試過的嗎? – 2015-02-10 02:36:18
你不能只問別人爲你做你的全部工作。試試自己的東西,告訴我們你做了什麼。現在,您可以向我們詢問您遇到麻煩的某個地區。 – 2015-02-10 05:04:49
查看[File :: Find](http://perldoc.perl.org/File/Find.html)模塊。它涵蓋了你想要完成的一大部分。 – 2015-02-10 05:12:42