常用参数
-a 不要忽略二进制数据。
-A<显示列数n> 列出包括该行外的后面的n行
-b<显示列数n> 列出除了该行外,前面的n行数和后面的n行
-B<显示列数n> 列出除了该行外,前面的n行数
-c 计算符合范本样式的列数。
-C<显示列数n> 除了显示符合范本样式的那一列之外,并显示该列之前的n行。
-l 列出文件内容符合指定的范本样式的文件名称。
-L 列出文件内容不符合指定的范本样式的文件名称。
-h 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
-H 在显示符合范本样式的那一列之前,标示该列的文件名称。
-i 忽略字符大小写的差别。
-n 在显示符合范本样式的那一列之前,标示出该列的编号。
-q 不显示任何信息。
-v 反转查找。
-w 只显示全字符合的列。
-x 只显示全列符合的列。
-o 只输出文件中匹配到的部分。
常用参数简单示例
grep -a 'A' main
(不忽略二进制)
说明:main是一个编译成功的二进制文件
-A<显示列数n> 列出包括该行外的后面的n行
-b<显示列数n> 列出除了该行外,前面的n行数和后面的n行
-B<显示列数n> 列出除了该行外,前面的n行数
-c 计算符合范本样式的行数
-C<显示列数n>除了显示符合范本样式的那一列之外,并显示该行之前的n行内容。
-l 列出文件内容符合指定的范本样式的文件名称
-L 列出文件内容不符合指定的范本样式的文件名称
-h 在显示符合范本样式的那一列之前,不标示该列所属的文件名称
-H 在显示符合范本样式的那一列之前,标示该列的文件名称
-i: 忽略大小写
-n:显示标号
-q:不显示任何信息
-v 反转查找
-w:只显示全字符合的列
-x:只显示全列符合的
-o:只输出匹配部分
正则表达式参数
[]:无论中括号内几个字符,都只代表一个
[n1-n2]:列出想要取得字符范围
[^]:反向选择中括号的字符
^word:以word为首的行
word$:以word结尾的行
^$:空白行
.(点):代表一定有一个任意字符
*:代表重复前一个字符0到无穷次
.*:代表任意字符
\(..\) #标记匹配字符,如'\(good\)',good被标记为1。
\:转义特殊字符,使之成为原本的意思
\< '\<grep'匹配包含以grep开头的单词的行。
\> 'grep\>'匹配包含以grep结尾的单词的行。
x\{m\} 重复字符x,m次。
x\{m,\} 重复字符x,至少m次
x\{m,n\} 重复字符x,至少m次,不多于n次
\w 匹配文字和数字字符,也就是[A-Za-z0-9]
\W \w的反置形式,匹配一个或多个非单词字符,如点号句号等。
\b 单词锁定符,如: '\bgrep\b'只匹配grep。
grep在正则表达式中的应用
[] 无论中括号内几个字符,都只代表一个
[n1-n2]:列出想要取得字符范围
[^]:反向选择中括号的字符
^word:以word为首的行
word$:以word结尾的行
^$:空白行
.(点):代表一定有一个任意字符
*:代表重复前一个字符0到无穷次
.*任意字符
\ 转义特殊字符,使之成为原本的意思
\{n,m\}:重复前一个字符n到m次
\w 匹配文字和数字字符,也就是[A-Za-z0-9],\W是 \w的反置形式,匹配一个或多个非单词字符,如点号句号等
\b 单词锁定符,如: '\bgrep\b'只匹配grep
\< ' \< grep' 匹配包含以grep开头的单词的行。
\> ' grep \>' 匹配包含以grep结尾的单词的行。