linux中grep命令详解
的有关信息介绍如下:grep命令是linux编程的基础,主要用于筛选过滤文本文件的行。我这里列出实际应用中常用到的操作,并不做深入理解,但对于开发已经够了
先建立一个测试文本:vi text.txt 内容如下:
Wulianyu is a good boybut mother say wulianyu often lazy111111I think he is very gooo.
在test.txt文件中,筛选包含mother的行
grep mother test.txt
在test.txt文件中,筛选不包含mother的行,加上-v参数即可:
grep -v mother test.txt
grep命令使用正则表达式:grep "[^a-z]ulianyu" test.txt
这里的^表示不匹配字母a-z而并不是表示开头,如果放在开头则表示匹配以么么开头。这里这句话表示匹配行中带有ulianyu且不是a-z开头
如果相查找以特定字符串结尾的行,则执行:
grep "\.$" test.txt即可。
这里\表示转义,这里查找以.结尾的行
grep "^[^A-Za-z]" test.txt 这里第一个^表示以^开头的行,第二个^表示匹配不是以A-Za-z开头的行,相当于取反,并且这里A-Za-z不能写成A-z
grep "^$" test.txt 表示匹配空行
这里有一个注意点:grep "oooo*" test.txt 我这里有4个O,却匹配出三个O的行,原因是因为最后一个O*连在一起用,表示O可以出现0次或者多次