作业一:整理正则表达式博客

正则表通常被用来检索、替换那些符合某个模式(规则)的文本,为了提取对自己有用的信息,由命令解释执行;而通配符和命令是同一级别,为了提示处理效率,直接由shell解释执行。

^ 行首
$ 行尾
. 除了换行符以外的任意单个字符
* 前导字符的零个或多个
+ 前导字符一个或多个
? 前导字符零个或一个
x{m} x出现m次
x{m,n} x出现m次至n次
[] 字符组内的任一字符
[^] 取反

作业二:grep作业(正则表达式及字符处理)

grep -E=egrep 扩展模式

目标文件/etc/passwd,使用grep命令或egrep

1.显示出所有含有root的行:

[root@ym /]# egrep 'root' /etc/passwd root:x:::root:/root:/bin/bash operator:x:::operator:/root:/sbin/nologin

2.输出任何包含bash的所有行,还要输出紧接着这行的上下各两行的内容:

[root@ym /]# egrep -C 'bash' /etc/passwd root:x:::root:/root:/bin/bash bin:x:::bin:/bin:/sbin/nologin daemon:x:::daemon:/sbin:/sbin/nologin --

postfix:x:

:::/var/spool/postfix:/sbin/nologin tcpdump:x::::/:/sbin/nologin yangming:x:::yangming:/home/yangming:/bin/bash nginx:x:::Nginx web server:/var/lib/nginx:/sbin/nologin

3.  显示出有多少行含有nologin。

[root@ym /]# egrep -c 'nologin' /etc/passwd

40

4.显示出那些行含有root,并将行号一块输出。

[root@ym /]# egrep -n 'root' /etc/passwd:root:x:::root:/root:/bin/bash :operator:x:::operator:/root:/sbin/nologin

5.显示出文件中

6.新建用户

abominable

abominate

anomie

atomize

编写正则表达式,将他们匹配出来

[root@ym /]# egrep 'a.omi(nabl|nat|z|)e' /etc/passwd

7.建四个用户

Alex213sb

Wpq2222b

yH438PIG

egon666

egon

过滤出用户名组成是字母+数字+字母的行

[root@ym /]# useradd Alex213sb [root@ym /]# useradd Wpq2222b [root@ym /]# useradd yH438PIG [root@ym /]# useradd egon666 [root@ym /]# useradd egon [root@ym /]# tail - /etc/passwd

Alex213sb:x:

:::/home/Alex213sb:/bin/bash Wpq2222b:x::::/home/Wpq2222b:/bin/bash yH438PIG:x::::/home/yH438PIG:/bin/bash egon666:x::::/home/egon666:/bin/bash egon:x::::/home/egon:/bin/bash

[root@ym /]# egrep '[a-Z]+[0-9]+[a-Z]+:' /etc/passwd

8.显示出/etc目录下所有包含root的文件名

[root@ym /]# ls /etc/ |egrep 'root'

9. 过滤掉/etc/ssh/sshd_config内所有注释和所有空行

[root@ym /]# grep -v '^#' /etc/ssh/sshd_config |grep '.$'

作业三:Sed作业:以/etc/passwd文件为模板

1,删除文件每行的第一个字符。

[root@ym /]# sed -r 's/^(.)(.*)$/\2/g' /etc/passwd

2,删除文件每行的第二个字符。

[root@ym /]# sed -r 's/^(.)(.)(.*)$/\1\3/g' /etc/passwd

3,删除文件每行的最后一个字符。

[root@ym /]# sed -r 's/(.*)(.)$/\1/g' /etc/passwd

4,删除文件每行的倒数第二个字符。

[root@ym /]# sed -r 's/(.*)(.)(.)$/\1\3/g' /etc/passwd

5,删除文件每行的第二个单词。

[root@ym /]# sed -r 's/([a-Z]+)([^a-Z]+)([a-Z]+)(.*)$/\1\2\4/g' /etc/passwd

6,删除文件每行的倒数第二个单词。

[root@ym /]# sed -r 's/([^a-Z]*)([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]*)$/\1\3\4\5/g' /etc/passwd

7,删除文件每行的最后一个单词。

[root@ym /]# sed -r 's/(.*)([^a-Z]+)([a-Z]+)([^a-Z]*)$/\1\2\4/g' /etc/passwd

8,交换每行的第一个字符和第二个字符。

[root@ym /]# sed -r 's/^(.)(.)(.*)/\2\1\3/g' /etc/passwd

9,交换每行的第一个字符和第二个单词。

[root@ym /]# sed -r 's/^(.)([^a-Z]*)([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]*)/\5\2\3\4\1\6/g' /etc/passwd

10,交换每行的第一个单词和最后一个单词。

[root@ym /]# sed -r 's/^([a-Z]+)(.*)([^a-Z]+)([a-Z]+)$/\4\2\3\1/g' /etc/passwd

11,删除一个文件中所有的数字。

[root@ym /]# sed -r 's/[0-9]//g' /etc/passwd

12,删除每行开头的所有空格。

[root@ym /]# vim /etc/passwd

[root@ym 

/]# head - /etc/passwd

   root:x:

::root:/root:/bin/bash bin:x:::bin:/bin:/sbin/nologin daemon:x:::daemon:/sbin:/sbin/nologin adm:x:::adm:/var/adm:/sbin/nologin[root@ym /]# sed -r 's/^ *//' /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

13,用制表符替换文件中出现的所有空格。

[root@ym /]# sed -r 's/ /\t/g' /etc/passwd

14,把所有大写字母用括号()括起来。

[root@ym /]# sed -r 's/[A-Z]/(&)/g' /etc/passwd

15,打印每行3次。

[root@ym /]# sed -r 'p;p' /etc/passwd

16,只显示每行的第一个单词。

[root@ym /]# sed -r 's/^([^a-Z]*)([a-Z]+)([^a-Z]*)(.*)/\2/' /etc/passwd

17,打印每行的第一个单词和第三个单词。

[root@ym /]# sed -r 's/^([^a-Z]*)([a-Z]+)([^a-Z]*)([a-Z]+)([^a-Z]*)([a-Z]+)([^a-Z]*)(.*)/\2\6/' /etc/passwd

18,用命令获取格式为    mm/yy/dd    的日期格式,结合管道,将其换成   mm;yy;dd格式

[root@ym /]# date +"%m/%Y/%d"|sed -r 's/\//;/g'
;;

Python之路-正则表达式的更多相关文章

  1. python之路 正则表达式,模块导入的方法,hashlib加密

    一.正则表达式re python中re模块提供了正则表达式相关操作 字符: . 匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的 ...

  2. python之路正则表达式

    元字符 蓝色框中有非贪婪模式也不起作用,非贪婪模式在+后加上?号 有空字符串

  3. Python高手之路【五】python基础之正则表达式

    下图列出了Python支持的正则表达式元字符和语法: 字符点:匹配任意一个字符 import re st = 'python' result = re.findall('p.t',st) print( ...

  4. python之路 目录

    目录 python python_基础总结1 python由来 字符编码 注释 pyc文件 python变量 导入模块 获取用户输入 流程控制if while python 基础2 编码转换 pych ...

  5. Python之路【第十九篇】:爬虫

    Python之路[第十九篇]:爬虫   网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...

  6. Python之路【第十八篇】:Web框架们

    Python之路[第十八篇]:Web框架们   Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...

  7. Python之路【第十七篇】:Django【进阶篇 】

    Python之路[第十七篇]:Django[进阶篇 ]   Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...

  8. Python之路【第十六篇】:Django【基础篇】

    Python之路[第十六篇]:Django[基础篇]   Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...

  9. Python之路,Day14 - It's time for Django

    Python之路,Day14 - It's time for Django   本节内容 Django流程介绍 Django url Django view Django models Django ...

随机推荐

  1. Android Asynctask的优缺点

    导语:之前做习惯了Framework层的开发,今天在武汉斗鱼公司面试APP客户端的开发,其中一道题是讲述Asynctask的优缺点,我靠,我只是知道有这么一个东西,会用而已,看来之前的生活太过于安逸, ...

  2. 解决CSS中float:left后需要clear:both清空

    现在,大部分的横排导航都是通过 ul -> li *n -> a 来实现的.具我所知,要达到这种效果,有几种方法可以实现. 1.传统处理方式: li {float:left;}/*这样,对 ...

  3. .NET Core跨平台:使用.NET Core开发一个初心源商城总括

    1..NET Core基本介绍 a 作为一个.NET的开发者,在以前的开发中,我们开发的项目基本都是部署在windows服务器上,但是在windows服务器上的话某些比较流行的解决访问量的方案基本都是 ...

  4. Android 反射-换一种方式编程

    Android 反射-换一种方式编程 转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/59109933 本文出自[赵彦军的博客] 上一 ...

  5. Overlay网络技术之vxvlan

    了解云计算数据中心网络架构的过程中,看到这么一篇不错的关于大二层技术overlay的文章,转载分享给大家! 一. 传统网络面临的问题 随着企业业务的快速扩展需求,IT做为基础设施,快速部署和减少投入成 ...

  6. 使用grunt实现web自动化

    1.grunt作用        实现压缩.编译.单元测试等重复性工作 2.需要安装的软件          第一步:从官网获取nodejs的软件包,直接双击进行安装(windows下) 第二步:打开 ...

  7. Kafka Eagle 源码解读

    1.概述 在<Kafka 消息监控 - Kafka Eagle>一文中,简单的介绍了 Kafka Eagle这款监控工具的作用,截图预览,以及使用详情.今天笔者通过其源码来解读实现细节.目 ...

  8. javascript作用域和闭包之我见

    javascript作用域和闭包之我见 看了<你不知道的JavaScript(上卷)>的第一部分--作用域和闭包,感受颇深,遂写一篇读书笔记加深印象.路过的大牛欢迎指点,对这方面不懂的同学 ...

  9. web计时机制——performance对象

    前面的话 页面性能一直都是Web开发人员最关注的领域.但在实际应用中,度量页面性能的指标,是提高代码复杂程度和巧妙地使用javascript的Date对象.Web Timing API改变了这个局面, ...

  10. H3 BPM总部乔迁 开启新篇章 筑梦新征程

    近日,国际一流的BPM解决方案服务商H3 BPM总部迎来乔迁之喜,办公新址泰邦科技大厦位于国家火炬计划软件产业基地.国家高新技术产业标准化示范区.国家文化和科技融合示范基地的深圳高新技术产业园区,办公 ...