grep命令:
语法:grep[参数] 查找模式 文件名【文件名】
grep命令用于在指定文件中查找与模式匹配的行,将匹配的行显示在标准输出上。如果没有指定文件,则从标准输入中读取。当在多个文件中进行查找时,将在每一行输出之前加上文件名。在搜索的文件名中允许使用通配符。
参数:
-c:只显示匹配行的行数。
-i:匹配时不区分大小写,默认情况下匹配时区分大小写。
-h:在许多个文件中查找时,输出行前不显示文件名。
-n:在输出前加上匹配串所在行的行号(文件首行行号为1);
-v:只显示不包含匹配串的行。
-f filename:从指定文件中获取搜索模式,每行一个搜索模式项。
例如:
grep printf *.c在当前目录下的所有C文件中查找printf字符串。
grep user1/etc/passwd将系统账号文件包含user1的行显示出来。
cat > dialog
your name is:
<Ctrl+d>
grep 'your name'dialog
your name is:
当搜索模式中包含空格时,要把搜索模式用单引号括起来。
cat > mode.txt
name
lin*
<Ctrl+d>
grep -f mode.txt dialog
your name is:
linux
在有多个搜索模式时,可以将这些搜索模式写入文件中,利用-f参数从文件中读取搜索模式项。