导航:首页 > 文件类型 > 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取文件名相关的资料

热点内容
安卓发送文件到苹果电脑 浏览:376
海投网app怎么注销 浏览:404
炉石新版本勇闯安戈洛 浏览:172
UG编程I5D2哪里设置 浏览:442
博越pro2021车机怎么安装app 浏览:793
完整ime文件夹 浏览:817
下载的数据一般在c盘哪里 浏览:1
苹果xs刷完机手机里文件还保留吗 浏览:919
360杀毒后全部文件夹 浏览:74
游戏策划与编程哪个好 浏览:224
网络对话技巧 浏览:163
java四舍五入方法 浏览:266
win10桌面文件卸载不了 浏览:195
excel获取vba密码 浏览:691
linuxhttp文件 浏览:95
什么是趣味编程课 浏览:817
硬盘数据线是什么样子的 浏览:965
自学大数据需要什么条件 浏览:848
数控编程需要从事什么 浏览:929
文件中找不到文件位置如何删除 浏览:10

友情链接