Shell 学习5(grep命令)

来源:互联网 发布:电脑足球战术板软件 编辑:程序博客网 时间:2024/05/17 23:22

Grep命令


grep是一种强大的文本搜索工具,(grep是文本搜索工具find是搜索文件的!! 区分开来)

它能使用正则表达式搜索文本,并把匹配的行打印出来,grep也是Linux中最广泛使用的命令之一


grep [选项][模式][文件…]

模式可以是字符串,也可以是变量,还可以是正则表达式。需要说明的是,无论模式是何种形式,只要模式中包含空格,就需要使用双引号将模式括起来,举例:
 [root@zawu globus]# grep certificate 00.pem
[root@zawu globus]# grep user certificate 00.pem
[root@zawu globus]# grep "user certificate" 00.pem
文件可以有多个,亦可以用通配来表示

eg

查找java文件中的String关键字
grep String Plant.java

eg    grep String url Plant.java grep 练习:1  -c 选项的用法  :  统计出现的行     eg   grep -c import *.java结果:DBUtils.java:3Plant.java:0 2 -n 的用法  : 表明出现在第几行eg   grep -n import *.java结果:DBUtils.java:3:import java.sql.DriverManager;DBUtils.java:4:import java.sql.SQLException;DBUtils.java:6:import com.mysql.jdbc.Connection;3 -r 选项  : 递归执行 !! 对当前目录及其所有的目录进行 grepgrep -r -c import *结果:bean/Plant.java:0dao/PlantDao.java:10servlet/QueryServlet.java:8utils/Plant.java:0utils/DBUtils.java:34 -w 选项  『对于一条简单的grep指令 eggrep Str* file1 的含义是: 在file1中grep 以Str开头的字符串其中,Str*代表的是 正则表达式而当我们需要查找Str*这样的字符串的时候,就需要-w-w可以转义eg grep -w import* file1  在file1中查找import*这样的关键字 而不是以import开头的!!』grep 与正则结合使用:1 grep ^i PlantDao.java 在PlantDao.java中查找以i开头的行结果:import java.sql.SQLException;import java.util.ArrayList;import java.util.List;import java.util.Map;import cn.sdu.bean.Plant;import cn.sdu.utils.DBUtils;import com.mysql.jdbc.Connection;import com.mysql.jdbc.ResultSet;2grep -c ^$ file1统计file1中的空白行   ^$ 表示空白grep -c ^[^$] file1 统计file1中的非空白行  3grep java\.util PlantDao.java 匹配java.util 的行而若不加\ 则.表示 任意字符

原创粉丝点击