linux grep命令使用总结

Linux系统中grep支持搜索文本中指定字符串,并打印。全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

格式:
grep [options]

返回值0表示所搜成功,1表示没有搜索到,2表示所搜的文件不存在。

常用的选项:
-c:只输出匹配行的计数。

[root@master ~]# grep -c 'table' create.hql 
2

-n:显示匹配行及行号。

[root@master ~]# grep -n "birthday" create.hql 
1:create table customer ( customerID INT, firstname STRING, lastname STRING, birthday TIMESTAMP ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
2:create external table customer ( customerID INT, firstname STRING, lastname STRING, birthday TIMESTAMP ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION '/user/train/salaries';

-v:显示不包含匹配文本的所有行。

[root@master ~]# grep -v "LOCATION" create.hql 
create table customer ( customerID INT, firstname STRING, lastname STRING, birthday TIMESTAMP ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

-q:安静模式,不打印任何标准输出。如果有匹配的内容则立即返回状态值0。

[testhadoop@sz-7-centos186 ~]$ grep -q "beeline" test.sh 
[testhadoop@sz-7-centos186 ~]$ echo $?
0

-w:精确匹配。
在这里插入图片描述
-o:只显示匹配上的字符串。
在这里插入图片描述
-r:在指定目录循环递归的搜索。
在这里插入图片描述
-E:扩展全局正则表达式,可以识别更多的正则表达式元字符,例如at + ? | 和()。
或关系匹配
在这里插入图片描述
与关系匹配,既匹配“external”,“customer”:

[root@master ~]# cat create.hql | grep "customer" | grep "external"
create external table customer ( customerID INT, firstname STRING, lastname STRING, birthday TIMESTAMP ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION '/user/train/salaries';

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值