热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

深入浅析正则表达式与通配符

这篇文章主要介绍了正则表达式与通配符的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

1.特殊符号

''     所见即所得
""     特殊符号会被解析运行
``     == $() 先运行里面的命令 把结果留下
>     重定向符号        先清空文件的内容 然后追加文件的最后
>>    追加重定向        追加文件的最后
2>    错误重定向        只有错误的信息 才会通过这个漏洞进入文件中
2>>   错误追加重定向
~     当前用户的家目录
!     查找并运行历史命令
!awk  包含awk的命令 最近的一条运行
      history |grep awk
#     注释
      root用户的命令提示符
$     取出变量的内容
      awk $取某一列的内容
   普通用户的命令提示符
*     所有 任何东西
\     撬棍  转义字符
&&    前一个命令执行成功然后在执行后一个命令
      ifdown eth0 && ifup eth0

||    前一个命令支持失败了再执行后面的命令

2.通配符

通配符是用来查找文件的。

2.1. 所有,任意*

2.2.{} 生成序列

3.正则表达式

3.1.什么是正则?为何使用它?

通过符号表示文字内容。

提高效率,省事。

3.2.使用正则的时候注意事项

正则表达式是按照行进行处理的

禁止使用中文符号

给grep和egrep配置别名

cat >>/etc/profile< alias grep='grep --color=auto'
alias egrep='egrep --color=auto'
EOF
source /etc/profile

3.3.正则表达式与通配符区别

用途                             匹配的内容                         支持的命令

通配符---用来匹配查找文件名      *.txt *.log 以.txt .log结尾的文件  大部分命令都可以使用

正则-----在文件中匹配查找内容    包含abc的行                     Linux三剑客

3.4.正则表达式分类

基础正则       ^ $ . * []  [^]    basic      regular expression BRE   grep           sed    awk

扩展正则       | +   {} () &#63;      extended   regular expression ERE   grep -E/egrep  sed -r awk

3.5.正则表达式总结

连续出现(重复)

     *        >=0
            +        >=1
            &#63;        0 1
            {n,m}    >=n  <=m
            {n}      ==n
     其他
            .        任意一个字符
            [abc]    一个整体 相当于是一个字符
                     [a-z] [0-9] [A-Z]
            [^abc]   排除
            |        或者
            ()       后向引用  反向引用  先保护再使用
            ^
            $
   .*       所有
   ^$       空行

3.6.基础正则与扩展正则区别

grep                    egrep === grep -E
sed                     sed -r
awk                     awk

到此这篇关于正则表达式与通配符及区别介绍的文章就介绍到这了,更多相关正则表达式 通配符内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


推荐阅读
  • ANSI最全介绍linux终端字体改变颜色等ANSI转义序列维基百科,自由的百科全书由于国内不能访问wiki而且国内关于ANSI的介绍都是简短的不能达到,不够完整所以转wiki到此 ... [详细]
  • Kubernetes与Docker之间的关系解析
    本文探讨了Kubernetes(简称k8s)与Docker之间的关系,旨在帮助读者理解这两种技术如何协同工作,以提高应用程序的部署效率和可扩展性。文章首先介绍了两者的基本概念,然后从虚拟化和部署的角度深入分析。 ... [详细]
  • Android开发经验分享:优化用户体验的关键因素
    随着Android市场的不断扩展,用户对于移动应用的期望也在不断提高。本文探讨了在Android开发中如何优化用户体验,以及为何用户体验的重要性超过了技术本身。 ... [详细]
  • 本文探讨了在Linux系统中尝试访问远程MySQL数据库时遇到的权限拒绝错误,特别是当使用非root用户进行连接时出现的'Access denied for user'错误。 ... [详细]
  • VSCode中实现大型项目函数跳转的方法
    在处理大型代码项目时,简单的C/C++插件往往无法满足需求。本文介绍如何通过配置GNU Global等工具,在VSCode中实现高效的函数跳转。 ... [详细]
  • 本文探讨了Flutter和Angular这两个流行框架的主要区别,包括它们的设计理念、适用场景及技术实现。 ... [详细]
  • 2020年腾讯PCG后端开发实习生面试经历分享
    本文详细记录了2020年腾讯平台与内容事业群(PCG)后端开发实习生岗位的面试过程,包括初试和复试的主要内容和技术考察点。 ... [详细]
  • Unix与Linux的起源与发展
    本文详细探讨了Unix与Linux的操作系统起源,从自由软件运动的兴起,到Linux内核的诞生,全面解析了这两款操作系统的发展历程及其对现代计算技术的影响。 ... [详细]
  • 本文详细介绍了将本地计算机和服务器从CentOS 7.2或7.3版本升级到7.4的过程,包括必要的准备步骤、执行升级的具体命令以及验证升级是否成功的检查方法。 ... [详细]
  • 本文探讨了为何在Linux系统上进行项目开发的重要性,并详细介绍了如何在Ubuntu系统上安装PyCharm这一流行的Python集成开发环境(IDE)。通过本文,您将了解在Linux环境下进行Python开发的优势及具体安装步骤。 ... [详细]
  • 成为一名高效的Java架构师不仅需要掌握高级Java编程技巧,还需深入理解JVM的工作原理及其优化方法。此外,对池技术(包括对象池、连接池和线程池)的应用、多线程处理、集合对象的内部机制、以及常用的数据结构和算法的精通也是必不可少的。同时,熟悉Linux操作系统、TCP/IP协议栈、HTTP协议等基础知识,对于构建高效稳定的系统同样重要。 ... [详细]
  • 本文介绍了如何在ARM架构的裸机环境中通过C语言编程点亮LED灯。主要包括初始化栈指针、关闭看门狗以及编写控制LED灯状态的C代码等关键步骤。 ... [详细]
  • 本文介绍了在Linux系统中如何使用不同的命令和工具来查看和检查端口状态,包括有权限和无权限情况下的操作方法。 ... [详细]
  • 本文介绍如何通过配置Linux服务器作为路由器来实现两个不同网段(192.168.1.0/24 和 192.168.2.0/24)之间的互联互通。 ... [详细]
  • Minetest 0.4.9 开源游戏在 Ubuntu 下通过 PPA 安装指南
    本文介绍了如何在 Ubuntu 系统上安装最新版本的 Minetest 0.4.9,包括添加 PPA、更新软件包列表以及安装过程,适合所有 Ubuntu 及其衍生系统的用户。 ... [详细]
author-avatar
重报礼坊官肀网
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有