在阅读源代码、平时查找信息的时候,有事总是需要找文件中包含某些信息的文件。下面我们介绍一下如果使用grep快速做到这一点。
grep [option] 格式 [path]
常用的参数有
-I:不区分区分大小写,比如匹配域名的时候,有的网址大写、有些小写。
-n:显示匹配结果在源文件中的行号
–r:表示递归子目录查找。
常用的匹配选项
^string:匹配以string开头的行。
eg:如在ams中查找注释行。 grep ^# grepdemo.s
string$:匹配以string结尾的行。
eg: 在asm中所有的标号。 grep ^: grepdemo.s
. :匹配任意一个非换行的字符。
eg:先要查找代码跳转的位置。 grep jn. grepdemo.s(匹配三个字符,前两个为jn,下一个字符只要不是换行符都可以。如 jne,jnz等)
[] :匹配一个指定范围内的字符。
eg:比如要批评10-19的数据,grep '' grepdemo.s
[^] :匹配一个不在指定范围内的字符,
* :匹配零个或多个先前出现的字符字符。
eg: ad*:将会列出add、ada,adad,adaaaa等。如果查找s所有数字,[0-9]*;
string\>:匹配以string结尾的单词。
eg:比如现在要查找所有以'ly'结尾的副词,grep 'ly\>' grepdemo.s 找到。
x\{m\} :匹配重复字符x,m次。
x\{m,\} :匹配重复字符x,至少m次。
x\{m,n\} :匹配重复字符x,至少m次,不多于n次。
\w:匹配文字和数字字符,也就是[A-Za-z0-9] 。
\W:匹配一个或多个非单词字符,也就是 [^A-Za-z0-9].如点号句号等。