2015-04-16 98 views
-4

我想解壓縮文件並計算文件中的匹配字符,之後我需要根據文件名連接文件。我成功實現了前兩步,但是我正面臨着實現第三個目標的問題。這是我正在使用的腳本。如何打開目錄並使用perl讀取該目錄內的文件

#! use/bin/perl 

use strict; 
use warnings; 

print"Enter file name for Unzip\n"; 
print"File name: "; 
chomp(my $Filename=<>); 
system("gunzip -r ./$Filename\*\n"); 
print"Enter match characters"; 
chomp(my $match=<>); 
system("grep -c '$match' ./$Filename/* > $Filename/output"); 

open $fh,"/home/final_stage/test_(copy)"; 
if(my $file="sra_*_*_*_R1") 

{ 
print $file; 
} 

system("mkdir $Filename/R1\n"); 
system("mkdir $Filename/R2\n"); 

基於 「sra_ _ _ _R1」 文件名匹配我有來連接,並把在R1文件夾中出來, 「sra_ _ _ _R2」 文件名R2文件夾。 幫我完成這項工作,歡迎所有的建議!!!!!

+0

也使用'use warnings'。 'shebang'行也是錯誤的。你的代碼有編譯錯誤。那之後呢 – serenesat

+0

?如何只打印匹配的文件名? –

+2

之後,檢查你的代碼並糾正它。 – serenesat

回答

0
#!/usr/bin/perl 
use strict; 
use warnings; 
use Path::Class; 
use autodie; # die if problem reading or writing a file 
my $dir = dir("/tmp"); # /tmp 
my $file = $dir->file("file.txt");# Read in the entire contents of a file 
my $content = $file->slurp();# 
openr() returns an IO::File object to read from 
my $file_handle = $file->openr(); # Read in line at a timewhile 
(my $line = $file_handle->getline()) 
{   
    print $line; 
} 

享受你的一天!

+0

請格式化您的代碼。 – Toto

相關問題