热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

grep语法及正则表达式

grep基本用法作用grep是一种文本搜索工具,在Linux中常用的文本搜索工具还有sed和awk.我们常用grep在内容繁多的文本中匹配到我们所需要的字符,并显示字符(串)所在的



grep基本用法



作用

grep是一种文本搜索工具,在Linux中常用的文本搜索工具还有sed和awk.

我们常用grep在内容繁多的文本中匹配到我们所需要的字符,并显示字符(串)所在的行.




格式

grep [参数] [文件]




常用参数

grep --color 显示匹配到字符(串)的颜色

grep -i 忽略字符大小写

grep -o 仅显示匹配的字符(串)

grep -v 反选(匹配到的行反而不显示)

grep -E 使用扩展正则表达式(在语句没错,而且使用普通正则查询不出来时使用扩展正则,会有惊喜)

grep -n 显示行号

grep -w 以字符形式查询






正则表达式

作用

正则表达式是为了方便我们处理大量文本信息而制定的一种规则(方法).

正则表达式可以用来检索文本中符合规则的信息.

它不仅在Linux中使用,在C语言和其他编程语言中也是通用的,所以说,正则表达式是非常重要的一个点.




常用参数


















































































参数示例意义代码结果
^^S匹配以S开头的行grep ‘^S’ /proc/memino在这里插入图片描述
$:/bin/bash$显示以/bin/bash结尾的行grep ‘:/bin/bash’ /etc/passwd在这里插入图片描述
.r.t匹配r和t中间有任意一个字符grep ‘r.t’ /etc/passwd在这里插入图片描述
\转义字符具有特定的含义,不同于字符原有的意义
*go*gle匹配g(若干个o(0 - +∞))gleecho ‘gle,gogle,google,gooogle’ |grep ‘go*gle’在这里插入图片描述
[n1-n2][0-9]+%匹配含有0-9十个数字+%的字符(串)df | grep ‘[0-9]+%’在这里插入图片描述
[^][^t]匹配非t字符grep ‘[^t]’ /etc/shadow在这里插入图片描述
{n1,n2}go{2,3}gle匹配google或gooogleecho ‘google,gooogle,gooooogle’ |grep ‘go{2,3}gle’在这里插入图片描述
\<\
匹配以r开头的单词grep ‘\
在这里插入图片描述
\>t\>匹配以t结尾的单词grep ‘t>’ /etc/passwd在这里插入图片描述


常用特殊符号



































参数意义
[[:alnum:]]代表英文大小写字符和数字==[0-9],[A-Z],[a-z]
[[:alpha:]]代表英文大小写==[A-Z],[a-z]
[[:space:]]代表任何空白字符
[[:digit:]]代表数字==[1-9]
[[:lower:]]代表小写字符==[a-z]
[[:upper:]]代表大写字符==[A-Z]


推荐阅读
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 本文介绍了GTK+中的GObject对象系统,该系统是基于GLib和C语言完成的面向对象的框架,提供了灵活、可扩展且易于映射到其他语言的特性。其中最重要的是GType,它是GLib运行时类型认证和管理系统的基础,通过注册和管理基本数据类型、用户定义对象和界面类型来实现对象的继承。文章详细解释了GObject系统中对象的三个部分:唯一的ID标识、类结构和实例结构。 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • 初探PLC 的ST 语言转换成C++ 的方法
    自动控制软件绕不开ST(StructureText)语言。它是IEC61131-3标准中唯一的一个高级语言。目前,大多数PLC产品支持ST ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文总结了Linux下多线程执行shell脚本的4种方法,包括切换到工作目录执行、使用绝对路径执行、直接使用bash或sh执行。同时介绍了为什么需要加上"./"来执行脚本的原因。 ... [详细]
  • ZABBIX 3.0 配置监控NGINX性能【OK】
    1.在agent端查看配置:nginx-V查看编辑时是否加入状态监控模块:--with-http_stub_status_module--with-http_gzip_stat ... [详细]
  • 开发笔记:Python之路第一篇:初识Python
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了Python之路第一篇:初识Python相关的知识,希望对你有一定的参考价值。Python简介& ... [详细]
  • 我创建了一个SSH密钥,当我以admin身份在GitBash中运行ssh-Tgit@gitlab.com时,我得到W ... [详细]
  • 对于一般的扩展包,我们一般直接pipinstallxxx即可安装,但是unrar直接安装后,发现并不能通过Python程序实现解压的功能& ... [详细]
author-avatar
zhangpingzizai
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有