python实现grep

import sys
import os
import re

def usage():
    print "[Usage]: python grep.py filename grepString."

if len(sys.argv) != 3:
    usage()
    sys.exit(1)

if os.path.isfile(sys.argv[1]):
    pass
else:
    usage()
    sys.exit(2)

f = open(sys.argv[1])
content = f.read()
f.close()
s = "\n".join(re.findall(sys.argv[2]+‘.*‘, content))
print s

【实现思路】

1. 读入文件;

2. 利用python的正则表达式模块,查找匹配字符串;

时间: 2024-11-15 19:08:59

python实现grep的相关文章

tail -f a.txt | grep 'python'

# tail -f a.txt |grep 'python' #tail -f a.txt import time def tail(conf): with open(conf,encoding='utf-8') as f: f.seek(0,2) while True: f1 = f.readline().strip() if f1: yield f1 else: time.sleep(0.5) # t = tail('a.txt') # print(next(t)) # for line i

6 Useful Databases to Dig for Data (and 100 more)

6 Useful Databases to Dig for Data (and 100 more) You already know that data is the bread and butter of reports and presentations. Data makes your presentation solid. It backs up the ideas you are selling. It gives people reasons to listen to you. Ho

review-反思当程序猿的小一年来

误打误撞进入这个行业,也算是缘分把,不到一年的时光里,剖析一下自己,别写了半天代码,学了一堆东西,不知道干嘛.反省一下. 1.目标与知识库 就目前在我看来,是想成为一名优秀的数据工程师,掌握全栈数据分析技术. 技术链: 爬虫  -python 数据清洗 -linux,shell,python,awk,grep,sed等 并发,并行 -linux,python多线程/多进程编程 大数据 -hadoop,scalar 算法 -机器学习库,tensor flow,sklearn 可视化 -django

linux 批量杀死进程

ps aux|grep python|grep -v grep|cut -c 9-15|xargs kill -15 管道符“|”用来隔开两个命令,管道符左边命令的输出会作为管道符右边命令的输入. 以下是用管道符联接起来的命令含义: “ps aux”是linux 里查看所有进程的命令.这时检索出的进程将作为下一条命令“grep python”的输入. “grep python”的输出结果是,所有含有关键字“python”的进程,这是python程序 “grep -v grep”是在列出的进程中去

grep -rl 'python' /root

# grep -rl 'python' /root 搜索root目录下文件内容包含python的文件名路径 import os def init(func): def wrapper(*args,**kwargs): res = func(*args,**kwargs) next(res) return res return wrapper @init def search(target): while True: search_path = yield g=os.walk(search_pat

Python Web 版本tailf, grep

Python有一个插件,可以让我们在网页上实现类似于Linux 下tailf, grep和awk的功能.这个插件的名字是tailon. 安装插件, pip install tailon 启动服务: tailon -f /var/log/nginx/* /var/log/apache/{access,error}.log 服务如果正常启动就可以在浏览器里使用:http://localhost:8080 访问. 更多命令: Usage: tailon [-c path] [-f path [path

regular expression, grep (python, linux)

https://docs.python.org/2/library/re.html re.match(pattern, string, flags=0)  尝试从字符串的起始位置匹配一个模式 re.search(pattern, string, flags=0)  扫描整个字符串并返回第一个成功的匹配 re.sub(pattern, repl, string, max=0)  替换字符串中的匹配项 >>> import re >>> s='112.90.239.137 

python 全栈 linux基础 (部分)正则表达式 grep sed

/etc/profile /etc/bashrc  .变量添加到shell环境中,永久生效. /root/.bashrc /root/.bash_profile 正则表达式 定义:正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.(被命令所解释) 三种文本处理工具/命令:grep sed awk grep(过滤) 参数 -n  :显示行号 -o  :只显示匹配的内容 -q  :静默模式,没有任何输出,得用$?来判断执行成功没有,即有没有过滤到想要的内容 -l

马哥2016全新Linux+Python高端运维班-Linux grep正则表达式练习,及find命令

本周作业内容: 1.显示当前系统上root.fedora或user1用户的默认shell:     [[email protected] home]# grep -E  "^(root|fedora|user1)\>" /etc/passwd |cut -d: -f1,7       root:/bin/bash                 user1:/bin/bash     fedora:/bin/bash     #本题使用扩展的正则表达式     #^:首行 |:或