shell 和python 读取一个目录里的文件问题
-
- 帖子: 53
- 注册时间: 2010-12-09 23:54
shell 和python 读取一个目录里的文件问题
想读取一个目录/log/里的所有符合文件名字规则的文件 对其中的文件进行正则抓取 文件名为log log1 log2 等等 然后用shell 或者python该怎么写?
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: shell 和python 读取一个目录里的文件问题
代码: 全选
grep regex log/log*
-
- 帖子: 53
- 注册时间: 2010-12-09 23:54
Re: shell 和python 读取一个目录里的文件问题
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: 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*
-
- 帖子: 53
- 注册时间: 2010-12-09 23:54
Re: shell 和python 读取一个目录里的文件问题
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*

-
- 帖子: 151
- 注册时间: 2009-05-29 22:05
Re: shell 和python 读取一个目录里的文件问题
perl -e 'print glob "/log/log*"'
-
- 帖子: 37
- 注册时间: 2012-03-06 0:22
Re: shell 和python 读取一个目录里的文件问题
find /log -regextype egrep -iregex .*log[0-9]* -print
- Methuselar
- 帖子: 122
- 注册时间: 2009-06-04 12:06
- 联系:
Re: shell 和python 读取一个目录里的文件问题
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("."));'
Mea Culpa!
- lilydjwg
- 论坛版主
- 帖子: 4258
- 注册时间: 2009-04-11 23:46
- 系统: Arch Linux
- 联系:
Re: shell 和python 读取一个目录里的文件问题
杀鸡焉用牛刀。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("."));'