導航:首頁 > 文件類型 > perl取文件名

perl取文件名

發布時間:2024-11-26 09:29:08

⑴ perl的輸出文件

用戶輸來入讀入的文件名就是源
$ARGV[0]

輸出文件名=輸入文件的名字+out
$output=$ARGV[0]."out";

打開Perl文件,FILE為文件句柄,如果文件不存在,可以用來創立新文件
open FH,">$output";

輸出
print FH "data...";

close FH;

⑵ perl 語言如何獲得目錄下的所有文件的文件名要求可以在任何平台移植!!!

opendir(DIR,'d:/www');
while(my $file = readdir(DIR)){
print $file,"\n";
}
closedir(DIR);

⑶ 求助批處理高手,從一堆文本文件中查找特定字元,並輸出所在文本的文件名. 查找當前文件夾及子文件夾中

用perl很方便:
#!/usr/bin/perl -w
use strict;
use feature('say');
use File::Find;
use FileHandle;

find(\&wanted,$ARGV[0]||".");
sub wanted{
if( -f $_ and /\.txt$/i){
my $fh=FileHandle->new($_,"r");
while ( my $line=$fh->getline ) {
if ( $line=~/榮華富貴/ ) {
say $File::Find::name;
}
}
undef $fh;
}
}

⑷ perl如何遍歷指定文件夾下的指定擴展名文件並讀取內容

不知道你這里讀取具體指什麼,我就把文件名列印出來,把文件內容列印出來吧。(程序指定兩個參數,第一個參數是指定的文件夾名,每二個參數是指定的擴展名。)
#!/usr/bin/perl
use strict;
use warnings;
die "Usage: $0 <dir> <extion>\n" unless @ARGV == 2;
my $Dir = $ARGV[0] ;
my $Ext = $ARGV[1] ;
opendir(DH, "$Dir") or die "Can't open: $!\n" ;
#讀取指定文件夾下面的指定擴展名的文件名,保存到數組里。
my @list = grep {/$Ext$/ && -f "$Dir/$_" } readdir(DH) ;
closedir(DH) ;
chdir($Dir) or die "Can't cd dir: $!\n" ;
foreach my $file (@list){
open(FH, "$file") or die "Can't open: $!\n" ;
print "$file:\n" ;
while(<FH>){
print ;
}
print "\n";
close(FH) ;
}

linux怎麼批量修改文件名稱

可以用腳本實現批量文件名稱修改,以perl腳本為例:

注釋:

1. # touch rename.perl //創建一個文件:rename.perl , 內容如下。

2. # chmod +x rename.perl

3. # cp rename.perl /bin/

4. # rename.perl 's/gongxu/leibie/g' * //將目錄中所有文件名中的 gongxu 替換為 leibie。

#!/usr/bin/perl -w
# rename - Larry's filename fixer
#用法: Perl表達式 [要處理的文件名]
$op = shift or die "Usage: rename expr [files]\n";

#如果沒有給出要處理的文件名則從標准輸入讀入
chomp(@ARGV = <STDIN>) unless @ARGV;

for (@ARGV) {
$was = $_;
eval $op; #對待處理的文件名($_)執行用戶輸入的Perl表達式$op
die $@ if $@; #退出 , 如果eval出錯
rename($was,$_) unless $was eq $_;
}

rename腳本的經典實例示範:

% rename.perl 's/\.orig$//' *.orig #移除文件末尾的.orig

% rename.perl "tr/A-Z/a-z/ unless /^Make/" * #所有非Make打頭的文件名大寫轉為小寫

% rename.perl '$_ .= ".bad"' *.f #每個*.f文件後面追加一個.bad

% rename.perl 'print "$_: "; s/foo/bar/ if =~ /^y/i' * #回顯每個待處理的文件名, 等待輸入, 如果用戶輸入以y或Y打頭, 把文件名中的foo替換成bar

% find /tmp -name "*~" -print | rename.perl 's/^(.+)~$/.#$1/' #把 /tmp目錄裡面每個文件名末尾有~的文件名改成以.#開頭

⑹ 後綴為.prl的文件時perl文件么

是的,保存成perl文件可以存成.prl 、.pl或者直接就是文件名什麼後綴都不用加。

⑺ 怎樣用perl程序查找最新日期文件夾下第一個文件名

用函數rename
rename?OLDNAME,?NEWNAMEChanges the name of a file.

⑻ perl中怎麼獲取當前pl文件所在文件夾

#首先定義四種鹼基的數量為0
$count_A=0;
$count_T=0;
$count_C=0;
$count_G=0;
#首先要先把序列進行合並成一行

#先確定所要處理的文件的路徑及文件名(在windows系統下面要按照這樣的例子寫
#f:\\perl\\data.txt
print
"please input the Path just like this
f:\\\\perl\\\\data.txt\n";
chomp($dna_filename=<STDIN>);
#打開文件
open(DNAFILENAME,$dna_filename)||die("can
not open the file!");
#將文件賦予一個數組
@DNA=<DNAFILENAME>;

#以下兩步要把所有的行合並成一行,然後去掉所有的空白符
$DNA=join('',@DNA);
$DNA=~s/\s//g;

#將DNA分解成,然後賦值到數組
@DNA=split('',$DNA);

#然後依次讀取數組的元素,並對四種鹼基的數量進行統計
foreach $base(@DNA)
{
if ($base eq
'A')
{
$count_A=$count_A+1;
}
elsif ($base eq
'T')
{
$count_T=$count_T+1;
}
elsif ($base eq
'C')
{
$count_C=$count_C+1;
}
elsif ($base eq
'G')
{
$count_G=$count_G+1;
}
else
{
print
"error\n"
}
}
#輸出最後的結果
print "A=$count_A\n";
print
"T=$count_T\n";
print "C=$count_C\n";
print
"G=$count_G\n";

閱讀全文

與perl取文件名相關的資料

熱點內容
現在哪裡開設了編程課 瀏覽:230
漫一網路培訓學校有哪些 瀏覽:752
酷狗app如何在電腦同步播放 瀏覽:668
雲浮微信群 瀏覽:344
公司文件打不開 瀏覽:267
LOL的設置文件在哪裡 瀏覽:254
線上開庭是什麼app 瀏覽:526
新中大軟體怎麼設置文件夾 瀏覽:807
git刪除文件夾 瀏覽:353
皇室戰爭怎麼升級競技場 瀏覽:447
雅虎統計工具 瀏覽:741
edgepdf文件分類 瀏覽:901
cad為什麼捕捉不到外部參照文件 瀏覽:935
重慶一共有多少個網站 瀏覽:34
k8s配置文件env創建失敗 瀏覽:197
編程序在電腦上叫做什麼 瀏覽:92
qq閱讀可賺 瀏覽:21
怎樣查找web儲存文件圖片 瀏覽:681
人口檔案資料庫包括什麼信息 瀏覽:709
手機有什麼好玩的星戰網路游戲 瀏覽:15

友情鏈接