perl合并文件成空文件夹

perl合并文件成空文件夹,第1张

使⽤Perl合并⽂件使⽤Perl合并⽂件

有时需要将整个⽬录下的⼩⽂件合并到⼀个⽂件中,以便查阅检索

特性

整个⽬录完全遍历,⾃动存⼊单个⽂件

顺序遍历⽂件

待合并的⽬录

合并后的⽂件内容

syscfg/test1

syscfg/test2

uart/uart7/uart7_dma1

uart/uart7/uart7_dma2

wwdg/prescaler

Perl代码

#!/usr/bin/perl

use warnings

###########################################

#./mergelst.pl lst

###########################################

my $indir = $ARGV[0]

opendir DIR, $indir or die "Connot open $indir: $!"#得到⽬录句柄

unlink "temp.lst"

open(OUTFILE, ">>temp.lst") || die ("Could not open file temp.lst ! \n")#输出⽂件句柄

foreach my $file (sort readdir DIR){ #⽬录下⽂件排序后遍历⽂件

if($file =~ /^\./){

next#'.''..'⽬录去除,不包括在遍历的范围之内

}

print "$indir$file\n"

open(INFILE, "$indir/$file") || die ("Could not open file $file ! \n")#打开⽬录下的⽂件 while ($line = <INFILE>){ #循环输出到输出⽂件中,合并 chomp($line)

print OUTFILE "$line \n"

}

print OUTFILE "\n\n"

close INFILE

}

close OUTFILE

rename 'temp.lst','merge_lst'#⽂件重名名

print "\n merge_lst\n\n"

6

百度文库VIP限时优惠现在开通,立享6亿+VIP内容

立即获取

使用Perl合并文件

使⽤Perl合并⽂件使⽤Perl合并⽂件

有时需要将整个⽬录下的⼩⽂件合并到⼀个⽂件中,以便查阅检索

特性

整个⽬录完全遍历,⾃动存⼊单个⽂件

顺序遍历⽂件

待合并的⽬录

合并后的⽂件内容

syscfg/test1

syscfg/test2

第 1 页

uart/uart7/uart7_dma1

uart/uart7/uart7_dma2

wwdg/prescaler

Perl代码

#!/usr/bin/perl

use warnings

###########################################

#./mergelst.pl lst

###########################################

第 2 页

my $indir = $ARGV[0]

opendir DIR, $indir or die "Connot open $indir: $!"#得到⽬录句柄

unlink "temp.lst"

open(OUTFILE, ">>temp.lst") || die ("Could not open file temp.lst ! \n")#输出⽂件句柄

foreach my $file (sort readdir DIR){ #⽬录下⽂件排序后遍历⽂件

if($file =~ /^\./){

next#'.''..'⽬录去除,不包括在遍历的范围之内

第 3 页

}

print "$indir$file\n"

open(INFILE, "$indir/$file") || die ("Could not open file $file ! \n")#打开⽬录下的⽂件 while ($line = <INFILE>){ #循环输出到输出⽂件中,合并 chomp($line)

print OUTFILE "$line \n"

}

print OUTFILE "\n\n"

close INFILE

}

第 4 页

close OUTFILE

rename 'temp.lst','merge_lst'#⽂件重名名

print "\n merge_lst\n\n"

比如创建 D:\tmpA\tmpB 这样的目录,那么可以用命令:

mkdir("D:\\tmpA") unless(-d "D:\\tmpA")#创建 D:\tmpA

mkdir("D:\\tmpA\\tmpB ") unless(-d "D:\\tmpA\\tmpB")#创建D:\tmpA\tmpB

注:

mkdir("D:\\tmpA") unless(-d "D:\\tmpA") 整体的意思表示如果不存在目录D:\\tmpA 那么创建目录 D:\\tmpA。

-d "D:\\tmpA“ 表示目录是否存在,如果存在则为真,不存在为假。

如果要判断文件是否存在 则用 -e


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8127654.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存