Chinaunix首页 | 论坛 | 博客
  • 博客访问: 894888
  • 博文数量: 113
  • 博客积分: 3160
  • 博客等级: 少校
  • 技术积分: 1801
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-19 10:09
文章分类

全部博文(113)

分类: LINUX

2012-06-02 21:31:38

1:grep

 

 

grep代表的是通用正则表达式解析器(general Regular Expression Parser)。我们常用find搜索文件,而使用grep在文件中搜索字符串。

 

 

grep的基本语法格式如下:

grep [options] PATTERN [FILES]

 

 

options的主要选项如下:

-c 输出匹配行的数目,而不是输出匹配的行

-E 启用扩展表达式

-h 压缩每个输出行的普通前缀为匹配查询模式的文件名

-i 忽略大小写

-l 只列出包含匹配行的文件名,而不是输出真正的匹配行

-v 对匹配模式取反,即搜索不匹配行而不是匹配行

 

 

PATTERN(正则表达式表示)

 

 

常用的源字符:

 

.   : 匹配处换行符以外的任意字符

 

\w  : 匹配字母,数字,下划线,汉字等

 

\s  : 匹配任意的空白符

 

\d  : 匹配数字

 

\b  : 匹配单词的开始或结束

 

^   : 匹配字符串的开始

 

$   : 匹配字符串的结束

 

\   : 字符转义,如果你想查找源字符本身的话,必须使用\来取消这些字符的特殊含义。

 

 

常用的限定符:

 

* 重复0次或更多次

 

+    重复1次或更多次

 

?   重复0次或一次

 

{n}  重复n

 

{n,} 重复n次或更多次

 

{n,m} 重复nm

 

 

查找字符集合:

 

[]   : 指定字符的范围

 

分支:

 

|    :匹配分支时,将会从右到左测试每个条件,如果满足满足某个分支的话,就不会在管其它的额条件了。

 

 

子表达式:

 

()   : 用来分组

 

 

反义:

 

\W   : 匹配任意不是数字,下划线,汉字字母的字符

 

\S   : 匹配任意不是空白符的字符

 

\D   : 匹配任意不是非数字的zifu

 

\B   : 匹配不是单词开头或结束的位置

 

[^x]  : 匹配除了x以外的任意字符

 

[^aeiou]:匹配除了元音字符以外的任意字符

 

实例:

 

1grep e$ X

 

在文件中查找以e结尾的行。

 

 

2grep -E [a-z]\{10\} X

 

在文件x中查找正好有10个字符的行。

 

 

 

2:less

 

 

当所要显示的文件超过一屏的时候,less就非常有用。

 

 

下面是一个常用的例子:

 

objdump -d a.o | less

 

 

如果没有less,它会把a.o的全部可执行汇编内容显示出来,如果这一块内容比较多,就只能看到最后一屏,非常不方便,利用管道和less实现分屏显示。

阅读(6534) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~