请先学习正则表达式!
grep 对文本文件进行模式查找。
grep 一般格式为:
grep[选项]基本正则表达式[文件]
grep 选项
-c 只输出匹配行数的个数
-i 不区分文件大小写(只适用于单字符)。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文件的错误信息
-v 显示不包含匹配文本的所有行。(!)
举例 显示data.f 文件中所有包含48 的行
$ grep "48" data.f
grep 和正测表达式
使用正则表达式最好用单引号括起来。
模式范围
grep '48[34]' data.f
不匹配行首
grep '^[^48]' data.f
空行 ^&
点 \.
双引号 \"
举个栗子 查询文件名conftroll.conf(配置文件).
$ grep 'conftroll\.conf' myfile
类名及其等价的正则表达式
[[:upper:]] [A-Z]
[[:lower:]] [a-z]
[[:digit:]] [0-9]
[[:alnum:]] [0-9a-zA-Z]
[[:space:]] 空格或者tab键
[[:alpha:]] [a-zA-Z]
再举个栗子 要抽取产品代码,改代码以5开头,后跟至少俩个大写字母。
$grep '5[[:upper:]][[:upper:]]' data.f
grep 也可以应用到文件