grep: 用于模糊查找,在标准输入或者文件中
格式: grep [选项参数]... PATTERN |FILE ...
选项参数说明:
-E, --extended-regexp PATTERN 是一个可扩展的正则表达式
-e, --regexp=PATTERN 用 PATTERN 来进行匹配操作
-f, --file=FILE 从 FILE 中取得 PATTERN
-i, --ignore-case 忽略大小写
-w, --word-regexp 强制 PATTERN 仅完全匹配字词
-x, --line-regexp 强制 PATTERN 仅完全匹配一行
-z, --null-data 一个 0 字节的数据行,但不是空行
-c, --count 只输出匹配行的计数
-h, --no-filename 查询多文件时不显示文件名
-H, --with-filename 显示文件名
-n, --line-number 匹配的行号
-o, --only-matching 只显示匹配的内容
-l, --files-with-matches 只输出包含匹配字符的文件名
-L, --files-without-match 只输出不匹配的文件名
-s, --no-messages 不显示不存在或者匹配错误的信息
-v, --invert-match 显示不包含匹配文本的行
"<" 和 ">" 分别标注单词的开始与结尾。
'^':指匹配的字符串在行首
'$':指匹配的字符串在行尾
grep "<kim" kimbo_test.sh #匹配 kim,kimbo,kimko 等开头的字符串 grep "kim>" kimbo_test.sh # kim,mathkim,kobekim 等结尾的字符串 grep "^kim" kimbo_test.sh #行首以kim开头 grep "kim$" kimbo_test.sh #行尾以kim开头
正则表达式
1.匹配单个字符
grep "<1[0-9]" kimbo_test.sh #匹配以1开头的数字,后面一个字符依然是数字
2.匹配重复字符
grep "mf{3}" kimbo_test.sh #匹配以m开头,后面是三个f 的内容
3.匹配8位数字日期(YYYYMMDD)
grep '^[12]{1}[0-9]{7}$' kimbo_test.sh #强匹配 1或者2开头的日期,如19901001,20171001 等