正则表达式,grep,sed,
答案详见:http://www.cnblogs.com/linhaifeng/p/6596660.html
作业一:整理正则表达式博客
^ # 行首定位 $ # 行尾定位 . # 匹配除换行符以外的任意字符 * # 匹配0或多个重复字符 + # 重复一次或更多次 ? # 重复零次或一次 ? # 结束贪婪因子 .*? 表示最小匹配 [] # 匹配一组中任意一个字符 [^] # 匹配不在指定组内的字符 \ # 用来转义元字符 < # 词首定位符(支持vi和grep) <love> # 词尾定位符(支持vi和grep) love> x\{m\} # 重复出现m次 x\{m,\} # 重复出现至少m次 x\{m,n\} # 重复出现至少m次不超过n次 X? # 匹配出现零次或一次的大写字母 X X+ # 匹配一个或多个字母 X () # 括号内的字符为一组 (ab|de)+ # 匹配一连串的(最少一个) abc 或 def;abc 和 def 将匹配 [[:alpha:]] # 代表所有字母不论大小写 [[:lower:]] # 表示小写字母 [[:upper:]] # 表示大写字母 [[:digit:]] # 表示数字字符 [[:digit:][:lower:]] # 表示数字字符加小写字母 元字符 \d # 匹配任意一位数字 \D # 匹配任意单个非数字字符 \w # 匹配任意单个字母数字下划线字符,同义词是 [:alnum:] \W # 匹配非数字型的字符 字符类:空白字符 \s # 匹配任意的空白符 \S # 匹配非空白字符 \b # 匹配单词的开始或结束 \n # 匹配换行符 \r # 匹配回车符 \t # 匹配制表符 \b # 匹配退格符 \0 # 匹配空值字符 字符类:锚定字符 \b # 匹配字边界(不在[]中时) \B # 匹配非字边界 \A # 匹配字符串开头 \Z # 匹配字符串或行的末尾 \z # 只匹配字符串末尾 \G # 匹配前一次m //g离开之处 捕获 (exp) # 匹配exp,并捕获文本到自动命名的组里 (?<name>exp) # 匹配exp,并捕获文本到名称为name的组里,也可以写成(? 'name' exp) (?:exp) # 匹配exp,不捕获匹配的文本,也不给此分组分配组号 零宽断言 (?=exp) # 匹配exp前面的位置 (?<=exp) # 匹配exp后面的位置 (?!exp) # 匹配后面跟的不是exp的位置 (?<!--exp) # 匹配前面不是exp的位置 (?#comment) # 注释不对正则表达式的处理产生任何影响,用于注释 特殊字符 http: //en.wikipedia.org/wiki/Ascii_table ^H \010 \b ^M \015 \r 匹配特殊字符: ctrl+V ctrl不放在按H或M 即可输出^H,用于匹配 --></name></love> |
作业二:grep作业(正则表达式及字符处理)
目标文件/etc/passwd,使用grep命令或egrep
1.显示出所有含有root的行:
grep "root" /etc/passwd
2.输出任何包含bash的所有行,还要输出紧接着这行的上下各两行的内容:
grep -C 2 "bash" /etc/passwd
3. 显示出有多少行含有nologin。
[root@python_lb yan]# grep -c "nologin" /etc/passwd
4.显示出那些行含有root,并将行号一块输出。
[root@python_lb yan]# grep -n "root" /etc/passwd
5.显示出文件中
6.新建用户
abominable
abominate
anomie
atomize
编写正则表达式,将他们匹配出来
[root@python_lb yan]# egrep '^a[a-z]+e' passwd
7.建四个用户
Alex213sb
Wpq2222b
yH438PIG
egon666
egon
过滤出用户名组成是字母+数字+字母的行
[root@python_lb yan]# grep -Eni '^[a-Z]+[0-9]+[a-Z]+' passwd
53:Alex213sb:x:1005:1005::/home/Alex213sb:/bin/bash
54:Wpq2222b:x:1006:1006::/home/Wpq2222b:/bin/bash
55:yH438PIG:x:1007:1007::/home/yH438PIG:/bin/bash
8.显示出/etc目录下所有包含root的文件名
[root@python_lb yan]# mkdir /etc/root
[root@python_lb yan]# mkdir /etc/1root
[root@python_lb yan]# mkdir /etc/root2
[root@python_lb yan]# ls /etc/|grep root
[root@python_lb yan]# ls /etc/*root*
9. 过滤掉/etc/ssh/sshd_config内所有注释和所有空行
[root@python_lb yan]# grep -v "^$" /etc/ssh/sshd_config|grep -v "^#"
作业三:Sed作业:以/etc/passwd文件为模板
1,删除文件每行的第一个字符。
[root@python_lb yan]# sed -r 's/^([a-Z0-9-])([a-Z0-9-]+)/\2/g' passwd
2,删除文件每行的第二个字符。
[root@python_lb yan]# sed -r 's/^([a-Z0-9-])([a-Z0-9-])([a-Z0-9-]+)/\1\3/g' passwd
3,删除文件每行的最后一个字符。
[root@python_lb yan]# sed -r 's/([a-Z]+)[a-Z]$/\1/g' passwd
4,删除文件每行的倒数第二个字符。
[root@python_lb yan]# sed -r 's/^(.*)(.)(.)$/\1\3/g' passwd
5,删除文件每行的第二个单词。
[root@python_lb yan]# sed -r 's/^([a-Z]+)([^a-Z]+)([a-Z]+)([^a-Z]+)/\1\2\4/g' passwd
[root@python_lb yan]# sed -r 's/^([a-Z0-9-]+)([^a-Z]+)([a-Z]+)([^a-Z]+)/\1\2\4/g' passwd
6,删除文件每行的倒数第二个单词。
[root@python_lb yan]# sed -r 's/([a-Z]+)([^a-Z]+)([a-Z]+)$/\2\3/g' passwd
7,删除文件每行的最后一个单词。
[root@python_lb yan]# sed -r 's/([^a-Z]+)([a-Z]+)$/\1/g' passwd
8,交换每行的第一个字符和第二个字符。
[root@python_lb yan]# sed -r 's/(^[a-Z])([a-Z])/\2\1/g' passwd
9,交换每行的第一个字符和第二个单词。
[root@python_lb yan]# sed -r 's/(^[a-Z])([a-Z0-9-]+)([^a-Z]+)([a-Z]+)/\4\2\3\1/g' passwd
10,交换每行的第一个单词和最后一个单词。
sed -r
's/([a-Z]+)(.*)([^a-Z]+)([a-Z]+)$/\4\2\3\1/'
passwd
11,删除一个文件中所有的数字。
sed -r
'/[0-9]+//g'
passwd
12,删除每行开头的所有空格。
sed -r
's/^ *//g'
passwd
13,用制表符替换文件中出现的所有空格。
sed -r
's/ /\t/g'
/etc/passwd
14,把所有大写字母用括号()括起来。
sed -r
's/[A-Z]/(&)/g'
/etc/passwd
15,打印每行3次。
sed
'p;p'
/etc/passwd
16,只显示每行的第一个单词。
sed
'1~2d'
/etc/passwd
17,打印每行的第一个单词和第三个单词。
18,用命令获取格式为 mm/yy/dd 的日期格式,结合管道,将其换成 mm;yy;dd格式
正则表达式,grep,sed,的更多相关文章
- 开发环境入门 linux基础 (部分)正则表达式 grep sed
/etc/profile /etc/bashrc .变量添加到shell环境中,永久生效. /root/.bashrc /root/.bash_profile 正则表达式 定义:正则就是用一些具有特 ...
- 使用方便 正则表达式grep,sed,awk(一)
一些无稽之谈: 对于正则表达式,永远似了解不明白,看到一些代码,脚本定期,awk,sed.心里总有点虚.主要是记不住.平时又没怎么用,也就没总结了. 如今有空,决定总结一下,顺便克服一下看到shell ...
- Linux基础正则表达式:grep,sed
先说明语系对正则表达式的影响 LANG=C:0,1,2,3,4...A,B,C,D...Z a b c d ... z LANG=zh_CN:0,1,2,3,4...a A b B c C ...
- linux(5)--补充(管道| / 重定向> / xargs)/find 与xargs结合使用/vi,grep,sed,awk(支持正则表达式的工具程序)
本节中正则表达式的工具程序 grep,sed和awk是重点,也是难点!!! 先补充一下一. 管道| / 重定向> / xargs 如:1. 管道和重定向的区别:具体可以见 http://www. ...
- grep, sed, awk
这几个工具是shell中非常好用的文本流处理工具,可以进行查找,编辑或者分析等工作,它们都支持正则表达式,也支持使用shell内置的变量 grep grep是一个字符串比较工具,用于从文件中提取满足条 ...
- Linux正则表达式grep与egrep
grep -io "http:/=[A-Z0-9]\{16\}" ./wsxf.txt >wsxf_urls.txt Linux正则表达式grep与egrep 正则表达式:它 ...
- grep与正则表达式,grep、egrep和fgrep
grep用法详解:grep与正则表达式 首先要记住的是: 正则表达式与通配符不一样,它们表示的含义并不相同!正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串. ...
- 【Linux】 字符串和文本处理工具 grep & sed & awk
Linux字符串&文本处理工具 因为用linux的时候主要用到的还是字符交互界面,所以对字符串的处理变得十分重要.这篇介绍三个常用的字符串处理工具,包括grep,sed和awk ■ grep ...
- grep, sed 与 awk 补补课,到底怎么用!
grep, sed 与 awk 相当有用 ! gerp 查找, sed 编辑, awk 根据内容分析并处理. awk(关键字:分析&处理) 一行一行的分析处理 awk '条件类型1{动作1}条 ...
- linux三剑客grep|sed|awk实践
最好先学习正则表达式的基本用法,以及正则表达式BREs,EREs,PREs的区别 此坑待填 grep sed awk
随机推荐
- JDBC——Java语言连接数据库的标准
JDBC概述 API JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Jav ...
- kali-通过获取路由器pin码套取无线网络密码shell脚本
直接上脚本吧, 我做个笔记. #************************************************************************* # > Fil ...
- JS(JavaScript)的进一步了解7(更新中···)
1.Js操作css样式 div.style.width=”100px”.在div标签内我们添加了一个style属性,并设定 了width值.这种写法会给标签带来大量的style属性,跟实际项目是不符. ...
- .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)——转载
原文链接:https://blog.walterlv.com/post/dotnet-high-performance-reflection-suggestions.html ***** 大家都说反射 ...
- bootstrap:modal & iframe
form提交绑定到特定的iframe & form的结果在dialog上显示 form:target属性 <!-- when the form is submitted, the ser ...
- Request method 'PUT'/ 'POST' not supported
起因 在项目中遇到需要进行crud操作的功能,用的是Springboot+MybatisPlus+MySQL+AVue,在通过postman测试接口正确性时遇到此错误. 排查过程 因为项目运行是没问题 ...
- R-画图
1.par(mar=c(8,5.2,8,5.2),new=TRUE,cex=1.5,mfrow=c(2,2)) (参考:http://blog.sina.com.cn/s/blog_6caea8b ...
- ssh整合oracle数据源报错????
在SSH整合的时候,引入oracle的pom节点,但是报错,因为没有权限,要手动将Oracle.jar注册到本地仓库 保证你电脑有maven环境,测试 方式为 cmd---->mvn -vers ...
- grep 从文件内容中查找
grep -rin [查找目标] [查找范围] 例子:在当前目录下的文件内查找test字符串 grep -rin test ./
- HADOOP高可用机制
HADOOP高可用机制 HA运作机制 什么是HA HADOOP如何实现HA HDFS-HA详解 HA集群搭建 目标: 掌握分布式系统中HA机制的思想 掌握HADOOP内置HA的运作机制 掌握HADOO ...