首页 > 代码库 > grep基本操作

grep基本操作

grep用法
1 基本用法
语法:grep [OPTIONS] regex  file
其中regex就是正则表达式  file 就是要指定查找匹配的文本文件名,可以指定多个
eg:
 $:ls /usr/bin > dirlist-usr-bin.txt
 $:ls /sbin > dirlist-sbin.txt
 $:ls /usr/sbin > dirlist-usr-sbin.txt
 $:grep tou dirlist-bin.txt
touch
其中tou是正则表达式,表达匹配包含tou字符串的行,因为在shell命令行当中执行应该避免执行前的扩展,规范的写法应该是
grep ‘tou‘ dirlist-bin.txt,这样可以避免不必要的错误。

2 OPTIONS选项参数
-i 忽略大小写

-v 反向匹配

-l 输出包含匹配串的文件名

-L 输出不包含匹配串的文件名
$ grep -L ‘tou‘ *
dirlist-sbin.txt
dirlist-usr-sbin.txt

-h 仅输出匹配的文件名

-n 输出匹配的行
$:~/jiangjian/note/temp$ grep -n ‘tou‘ dirlist-bin.txt
dirlist-bin.txt:141:touch


3 关于[] 的使用
对于前面如果想shell不进行扩展,可以在"‘"和"‘"当中写入正则表达式,这里也可以用"["和"]"匹配一定字符集,只要是这里面出现的都算匹配成功,除了两个元字符"^"和"-",其他元字符在这里面不转义,以普通的字符身份来进行匹配,
$: grep ‘[bg]zip‘ dirlist-*.txt
dirlist-bin.txt:bzip2
dirlist-bin.txt:bzip2recover
dirlist-bin.txt:gzip
注意命令行当中的dirlist-*.txt在执行前已经被扩展。




grep基本操作