shell 和python 读取一个目录里的文件问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
zhangxiaofir
帖子: 53
注册时间: 2010-12-09 23:54

shell 和python 读取一个目录里的文件问题

#1

帖子 zhangxiaofir » 2012-10-10 15:09

想读取一个目录/log/里的所有符合文件名字规则的文件 对其中的文件进行正则抓取 文件名为log log1 log2 等等 然后用shell 或者python该怎么写?
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: shell 和python 读取一个目录里的文件问题

#2

帖子 lilydjwg » 2012-10-10 15:40

代码: 全选

grep regex log/log*
zhangxiaofir
帖子: 53
注册时间: 2010-12-09 23:54

Re: shell 和python 读取一个目录里的文件问题

#3

帖子 zhangxiaofir » 2012-10-10 17:02

lilydjwg 写了:

代码: 全选

grep regex log/log*
- - 我貌似又没描述清楚
嗯 嗯 下面是perl版本的

代码: 全选

#!/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的文本进行操作
想知道如果用python 或者shell该怎么写
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: shell 和python 读取一个目录里的文件问题

#4

帖子 lilydjwg » 2012-10-10 17:54

zhangxiaofir 写了:
lilydjwg 写了:

代码: 全选

grep regex log/log*
- - 我貌似又没描述清楚
嗯 嗯 下面是perl版本的

代码: 全选

#!/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的文本进行操作
想知道如果用python 或者shell该怎么写
不知道你要「进行操作」是干什么。找到文件的话是这样子:

代码: 全选

grep -l 2012 /log/log*
zhangxiaofir
帖子: 53
注册时间: 2010-12-09 23:54

Re: shell 和python 读取一个目录里的文件问题

#5

帖子 zhangxiaofir » 2012-10-10 18:10

lilydjwg 写了:
zhangxiaofir 写了:
lilydjwg 写了:

代码: 全选

grep regex log/log*
- - 我貌似又没描述清楚
嗯 嗯 下面是perl版本的

代码: 全选

#!/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的文本进行操作
想知道如果用python 或者shell该怎么写
不知道你要「进行操作」是干什么。找到文件的话是这样子:

代码: 全选

grep -l 2012 /log/log*
:em06 貌似我把简单问题复杂化了
niejieqiang
帖子: 151
注册时间: 2009-05-29 22:05

Re: shell 和python 读取一个目录里的文件问题

#6

帖子 niejieqiang » 2012-10-11 16:23

perl -e 'print glob "/log/log*"'
q_yangguangyouzi
帖子: 37
注册时间: 2012-03-06 0:22

Re: shell 和python 读取一个目录里的文件问题

#7

帖子 q_yangguangyouzi » 2012-10-12 1:30

find /log -regextype egrep -iregex .*log[0-9]* -print
头像
Methuselar
帖子: 122
注册时间: 2009-06-04 12:06
联系:

Re: shell 和python 读取一个目录里的文件问题

#8

帖子 Methuselar » 2012-10-16 17:28

Python无人??

代码: 全选

python -c 'import os; print "\n".join("\n".join(f for f in l[2] if f.startswith("log") ) for l in os.walk("."));'
当然要上正则,py就有点疼了...
Mea Culpa!
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: shell 和python 读取一个目录里的文件问题

#9

帖子 lilydjwg » 2012-10-16 17:41

Methuselar 写了:Python无人??

代码: 全选

python -c 'import os; print "\n".join("\n".join(f for f in l[2] if f.startswith("log") ) for l in os.walk("."));'
当然要上正则,py就有点疼了...
杀鸡焉用牛刀。
回复