perl 把源目录下的文件拷贝到目标目录(带路径)
来源:互联网 发布:知乎论坛网站彭加木 编辑:程序博客网 时间:2024/04/27 05:46
#!/bin/perl
#perl "D:\separateFliesBySearch.pl" "D:/WebRoot" "C:/Users/Documents/" ".xml" "<beans xmlns=\"http:\/\/www\.springframework\.org\/schema\/beans\""
use strict;
use warnings;
use File::Find;
use File::Copy;
use File::Path;
die "使用的参数:$0,不符合要求,请指定目录及搜索内容" unless @ARGV>=4;
my $srcdir = $ARGV[0];
my $distdir = $ARGV[1];
my $suffix = $ARGV[2];
my $reg = $ARGV[3];
my $verbose = 0;
if($ARGV[4])
{
$verbose = $ARGV[4];
}
searchContentsInFiles($srcdir,$suffix,$reg);
sub searchContentsInFiles
{
my $srcdir=$_[0];
my $suffix=$_[1];
if(! -e $distdir)
{
#第二个参数为是否显示日志,第三个目录权限
mkpath($distdir,$verbose,0711);
}
my @filenames=find( \&wanted,$srcdir);
close FH;
}
sub wanted
{
my $file = $File::Find::name;
my $filename=$_;
my $filedir=$File::Find::dir;
if(-f $file && /$suffix/ && !/\.svn/)
{
open(FH,"$file");
if(grep {/$reg/} <FH>)
{
#$_="$filedir";
my $tmpfiledir=$filedir;
$tmpfiledir=~ s/$srcdir//;
my $tmpdistdir="$distdir$tmpfiledir";
#print "$tmpdistdir\n";
if(!-e "$tmpdistdir")
{
#第二个参数为是否显示日志,第三个目录权限
mkpath("$tmpdistdir",$verbose,0711);
}
copy($file,"$tmpdistdir");
}
}
}
- perl 把源目录下的文件拷贝到目标目录(带路径)
- 使用perl将当前目录中子目录下的相应文件拷贝到一个文件夹中
- [随笔]Linux下,如何将一个文件及其所在的递归路径一起拷贝到目标目录?
- java 把A文件夹下的目录及文件拷贝到B 目录文件夹下
- 拷贝—标准文件到目标目录的方法
- 拷贝一个目录或者文件到指定路径下
- 把某某XX文件夹的下得文件拷贝到任意磁盘目录下
- 使用perl 把某个文件移动到其他的文件夹目录下。
- 使用java来把一个目录下的所有文件拷贝到另外一个目录下,并且重命名
- 使用java来把一个目录下的所有文件拷贝到另外一个目录下,并且重命名
- 把包含相应字符串的文件拷贝到其他目录
- 拷贝A下面的B目录到C下面,只拷贝目标结构,不拷贝文件
- 拷贝一个目录(文件)到指定路径
- perl 文件目录的创建删除拷贝
- java 将源目录下的文件拷贝到另一个目录下
- javaIO_将一个目录下的文件拷贝到另一个目录下(边读边写操作)
- 把assets目录下的db文件拷贝进来
- java 将源目录的所有文件(含子目录)拷贝到 目标目录中(运用File类实现)
- 角磨机哪个牌子好,角磨机十大品牌排行
- 研究一下午滑动边栏效果
- Android设置SurfaceView任意大小和任意位置
- Windows系统使用INI配置文件
- C# FTPClient--FTP操作帮助类,上传下载,文件,目录操作
- perl 把源目录下的文件拷贝到目标目录(带路径)
- Linux 3.6 配置S3C2416支持模拟U盘
- nginx性能改进一例
- D. Do it Right!(2014-2015 ACM-ICPC, NEERC, Moscow Subregional Contest )
- android 自定义textview属性配置
- iOS静态库的编译
- 常用默认端口号
- 第十二周项目1阅读全局变量
- LeetCode——Longest Common Prefix