shell 和python 读取一个目录里的文件问题
发表于 : 2012-10-10 15:09
想读取一个目录/log/里的所有符合文件名字规则的文件 对其中的文件进行正则抓取 文件名为log log1 log2 等等 然后用shell 或者python该怎么写?
不知道你要「进行操作」是干什么。找到文件的话是这样子:zhangxiaofir 写了:- - 我貌似又没描述清楚lilydjwg 写了:代码: 全选
grep regex log/log*
嗯 嗯 下面是perl版本的想知道如果用python 或者shell该怎么写代码: 全选
#!/usr/bin/perl opendir(DIR,"/log"); my @files=readdir DIR; foreach my $file (@files) { if($file =~ /^log/){ open(FILE,"</log/$file"); while(my $line=<FILE>){ if($line =~/2012/ )#接下来是对行里有2012的文本进行操作
代码: 全选
grep -l 2012 /log/log*
lilydjwg 写了:不知道你要「进行操作」是干什么。找到文件的话是这样子:zhangxiaofir 写了:- - 我貌似又没描述清楚lilydjwg 写了:代码: 全选
grep regex log/log*
嗯 嗯 下面是perl版本的想知道如果用python 或者shell该怎么写代码: 全选
#!/usr/bin/perl opendir(DIR,"/log"); my @files=readdir DIR; foreach my $file (@files) { if($file =~ /^log/){ open(FILE,"</log/$file"); while(my $line=<FILE>){ if($line =~/2012/ )#接下来是对行里有2012的文本进行操作
代码: 全选
grep -l 2012 /log/log*
代码: 全选
python -c 'import os; print "\n".join("\n".join(f for f in l[2] if f.startswith("log") ) for l in os.walk("."));'
杀鸡焉用牛刀。Methuselar 写了:Python无人??
当然要上正则,py就有点疼了...代码: 全选
python -c 'import os; print "\n".join("\n".join(f for f in l[2] if f.startswith("log") ) for l in os.walk("."));'