每天两个命令之grep和less(5)-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 893650
  • 博文数量: 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实现分屏显示。

阅读(6525) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图