Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1371328
  • 博文数量: 243
  • 博客积分: 888
  • 博客等级: 准尉
  • 技术积分: 2955
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-05 14:33
个人简介

漫漫长路,其修远兮!

文章分类

全部博文(243)

文章存档

2017年(2)

2016年(22)

2015年(32)

2014年(57)

2013年(107)

2012年(23)

分类: LINUX

2012-12-11 10:26:18

1.查找
a.grep:能使用基本的正则表达式
b.egrep:能使用扩展的正则表达式 = grep -E
c.fgrep:匹配固定的字符串而非正则表达式
 
2.meta字符
.*代表“匹配任一字符的任意长度”,*若置于正则表达式的第一字符,不具有任何特殊意义
^符号置于[]中的第一个字符表示反向的意思
\{n,m\}:匹配他前面单个字符的重复出现的次数的区间 \{3\}表示至少三次
\( \):讲\(与\)间的模式存储在特殊的保留空间
 
3.后向引用
首先,将子表达式包含在\( \)中。最多包含9个子表达式
然后,使用\digit digit可以是1-9,表示与先前第digit个子表达式匹配
eg:
e\(ch\)o.*\1表示,当遇到echo时,把ch保存在内存中,并编号为1,之后,可以有0个或者多个字符。当再遇到ch时,匹配到一个
 
 
4.grep,sed的几个实例演练
grep -v "^$" trace1.sh  去除空白行
sed 's/:.*//' /etc/passwd | sort -u 删掉第一个冒号后面的所有字符,删除重复的行然后排序
find /home/zhangh -type d -print | 寻找所有的目录
sed 's;/home/zhangh;/home/lih;' | 字符替换
sed 's/^/mkdir /'                | 在每行的开头添加mkdir
 
5.cut的使用
cut -d : -f 1,5 passwd     --分隔符为:,取第1,5列的数据
cut -d: -f 3- /etc/passwd  --从第三个字段开始显示,直到最后一个字段
cut -c1 -4,5 /etc/passwd   --取每行的1-4和第5个字符
 
6.awk的简单使用方法
awk设计的重点就是在字段与记录上,awk将每条记录内的字段数目,存储在内建变量NF中
awk -F : '{print $1,$5}' /etc/passwd
 
这章的重点主要是grep,sed和正则表达式配合使用。
 
 
阅读(1952) | 评论(0) | 转发(3) |
给主人留下些什么吧!~~