打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
perl 目录操作
目录操作
Glob
在shell中会将命令行的文件名模式扩展成所有匹配的文件名,就称为globbing(文件名模式匹配).
在Perl中通过glob操作符来实现.
my @all_file=glob "*";   #数组变量将保存该目录下所有文件名,除了以点号开头的隐藏文件.
等同于
my @all_file=<*>;
注意:角括号内项目如果是标识符就表示从文件句柄读取文件内容,否则就表示glob.
my @file=<FILE>;   #表示读取文件内容
my @file=<FILE/*>; #表示glob.
目录句
若想从目录里取得文件列表,也可以用目录句柄.
opendir closedir readdir
#perl
my $dir="/etc";
opendir DH,$dir or die "Can't open $dir : $! \n";
foreac $file (readdir DH) {
print "one file in $dir is $file \n";
}
closedir DH;
注意:readdir返回的文件名不包含路径,glob将返回路径加文件名.
操作目录与文件
chdir 改变当前目录
unlink 移除文件,参数为列表  unlink glob "*"  #移除当前目录下文件(不包括隐藏的)
rename "old","new" 重命名文件
link "file","filelnk"  硬链接文件 (类似C语言中的引用)
symlink "file","filelnk"  软链接文件 (类似C语言中的指针)
mkdir "dir",0775   建立文件,第二参数为权限
rmdir 移除目录,只能移除空目录.
chmod 0775,"file"  修改权限
chown $user,$group,"file"  修改隶属关系.用户标识符和组标识符必须用数字.
                           getpwnam和getgrnam分别将用户名和组名转换为数字.
注意:以上用到权限的地方都为数字.用字符串有时为引起歧义.如"0775"将会被认为是十进制775而不是八进制775.函数oct可强制把字符串认为是八进制,如oct("0775")正确.




sub dir_seq{
  my ($file,$file_rew)=@_;
  open (OUT,">$file_rew");
  opendir(DIR,"./$file");
  my @dir=readdir(DIR);
  for my $dir(@dir){
     next if($dir=~/^\./);
     open (INP,"./$file/$dir");
  my @inp=<INP>;
 print OUT "@inp\n";
     close (INP);
  }
  close (OUT);
}
\


my @file = glob("tarbase/*.txt");
foreach my $file (@file) {
$file =~/(hsa-\S+)\.txt/;
my $mi = $1;
open F, $file;
while(my $line = <F>) {
next if($line =~/^\s+$/);
my @tmp = split "\t", $line;
$tmp[3] =~s/\s\(homo sapiens\)//i;
print OUT "$mi\t$tmp[3]\n";
}
}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
PHP读取目录下所有文件的代码
perl操作目录程序
php 删除目录下N分钟前创建的所有文件的实现代码
FTP命令详解 及 shell中的使用
自动化办公:python文件分类器,一键完成杂乱无章的文件整理
perl文件重命名
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服