#!/usr/bin/perl -w
# File: getinfo.pl
# Creator: thinkhy
# Usage: ./getinfo path outputfile
# Date: 2010年 03月 07日 星期日 15:23:18 CST
# 回复梁同学的需求,写了个Perl脚本来实现功能:
#ubuntu系统:一个目录下有100个左右dat和txt文件,现需要你利用脚本程序把该目录下的每个文件的大小和行数计算出来,并把结果显示到一个excel文件中,第一列为文件名,第二列为文件大小,第三列为文件中字符的行数!
$path = $ARGV[0]; # 查找的路径
$output = $ARGV[1]; # 输出的csv文件名(不包括扩展名)
if (!$path || !$output) {
print "Usage: ./getinfo path outputfile/nHave fun!/n";
exit;
}
chomp ($path);
# 扩展名
$ext1 = "dat";
$ext2 = "txt";
$cmd = "find $path -regex /".*//.//(//($ext1//)//|//($ext2//)//)/$/" -exec ls -1 /"{}/" //;";
@files = `$cmd`;
$i=0;
foreach (@files) {
$filename = $files[$i];
chomp ($filename);
$cmd = "wc -l $filename|cut -d' ' -f1";
$myline = `$cmd`;
chomp ($myline);
$cmd = "stat -c /"%s/" $filename";
$mysize = `$cmd`;
chomp ($mysize);
$files[$i] = "$filename,$mysize,$myline/n";
$i++;
}
$filename = "$output.csv";
open (LOG1 , " > $filename " )
or die " Couldn't open $filename for writing: $! " ;
print "@files";
print LOG1 "@files" ; # 为什么 用@files输出,除第一行外的行首都多了一个空格。
[经验总结]Perl输出csv文件
最新推荐文章于 2025-12-11 13:15:33 发布
这篇博客分享了一段Perl脚本,用于在Ubuntu系统中遍历指定目录,查找.dat和.txt文件,计算它们的大小和行数,并将结果保存到CSV文件中。脚本通过命令行参数接收输入目录和输出文件名,使用find、ls、wc和stat等命令获取文件信息,并将结果以逗号分隔格式写入CSV文件。

414

被折叠的 条评论
为什么被折叠?



