前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >grep进阶用法

grep进阶用法

作者头像
十毛
发布2019-03-27 14:44:52
1.2K0
发布2019-03-27 14:44:52
举报

Linux环境每天用得最多的命令就是grep,这里把一些稍微进阶的用法整理一下

常用选项

可以参见man grep或者grep命令,最常用的选项如下:

代码语言:javascript
复制
-v 反转查找
-w 只显示全字符合的列
-i 忽略字符大小写的差别
-o 只输出文件中匹配到的部分
-n 显示列号
-F 禁用正则表达式(用来搜索包含正则表达式特殊字符的的场景)

正则表达式

命令示例:

代码语言:javascript
复制
grep -E "[0-9]+" sentence.txt
-E 扩展的正则表达式
-P Perl正则表达式(支持一些高级用法,比如先行断言、后发断言、负向零宽断言等)

支持

代码语言:javascript
复制
# 特殊字符
[0-9] # 集合
[^0-9] #不在集合 
(hello|world)       # 或
\s    #空字符(空格,Tab,换行)
\b   # 字符开始
\w   #数字、字母、下划线
^     # 行首
$   # 行尾
# 计数
?
*
+
{n}
{n,}
{,m}
{n,m}

\d #一般正则表达式都有\d,表示数字,grep不支持。可以使用[0-9]表示

常见grep用法

  • 单词出现的次数
代码语言:javascript
复制
grep -o word sentence.txt | wc -l
  • 包含单词的行数
代码语言:javascript
复制
grep -c word sentence.txt
  • 找到特定数字并反向排序
代码语言:javascript
复制
grep -Po "(?<=cost: )[0-9]+" all.log

这里使用了Perl正则

  • kill进程
代码语言:javascript
复制
ps -ef | grep java | grep -v "grep" | awk '{print $2}' | xargs kill

Linux命令进阶用法系列

参考

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.01.08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 常用选项
  • 正则表达式
  • 常见grep用法
  • Linux命令进阶用法系列
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档