Linux grep 命令大全

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 等

原文地址:https://www.cnblogs.com/kimbo/p/7002512.html