linux&shell编程中通过正则表达式来匹配查找文件极大的提高查找效率。

首先,解释一下下边出现的命令。

linux部分:

ls:查看文件夹内的命令。

|:管道。

grep:搜索后边匹配的字符串命令。

>重定向

>>增量

正则表达式部分:

^:匹配起始符。

$:匹配结束符。

[a-z]:匹配括号内的字母,可以单写。

[^a-z]:括号内加入^可以进行反向匹配。

.:匹配一个字符,除换行符以外的。

*:重复0-n次。

+:重复1-n次。

?:重复0次或者一次。

{n}:重复n次。

{n,m}:重复n-m次。

{n,}:重复n次以上。

|:或匹配符,但是使用时需要转译。

上边是正则表达式常用的部分,另外正则表达式运用广泛,我接触到的可以用在web前后端信息验证,爬虫中信息匹配,数据库内数据匹配,程序中的数据匹配等等。

-------------------------关于linux&shell中,正则表达式的运用---------------------------

step1:空文件的建立

使用hubobo或xujiji用户在用户主目录~下依次创建如下文件:

class1、and、class2、no、minna、please、hand、in、your、homework、before、November、5th

step2:简单字符串定向查询练习。

查询用户主目录~下文件名包含s1字符串的文件,并将查询结果重定向到myhomework文件中。

ls~|grep “s1”>>myhomework

step3:起始标志符练习。

查询用户主目录~下文件名以a字母开头的文件,并将查询结果增量重定向到myhomework文件中。

知识点:

ls~|grep “^a”>>myhomework

step4:结尾标识符练习。

查询用户主目录~下文件名中以2数字结的文件,并将查询结果增量重定向到myhomework文件中。

ls~|grep “2$”>>myhomework

step5:起始与结尾标识符配合使用练习。

查询用户主目录~下文件名中以n字母开始以o字母结尾,中间不限字符的文件,并将查询结果增量重定向到myhomework文件中。

ls~|grep “^n.*o$”>>myhomework

step6:固定字符长度查询条件使用练习。

查询用户主目录~下文件名中长度是5位的文件,并将查询结果增量重定向到myhomework文件中。

ls~|grep “^.\{5\}$”>>myhomework

step7:定向位数查询练习。

查询用户主目录~下文件名第四位是a字母的文件,并将查询结果增量重定向到myhomework文件中。

ls~|grep “^…a.*”>>myhomework

step8:特定多字符的查询条件练习。

查询用户主目录~下的文件名有h字母,并且有d字母,且h字母在d字母之前的文件,并将查询结果增量重定向到myhomework文件中。

ls~|grep “[h]*[d]”>>myhomework

step9:管道嵌套组合查询

查询用户主目录~下文件名是以i开头且长度为2的文件,并将查询结果增量重定向到myhomework文件中。

ls~|grep “i.\{1\}”>>myhomework

step10:管道嵌套组合并非集查询练习

查询用户主目录~下文件名不在a-n、p-q、s-t、v-x、z中,且文件名长度为为4的文件,并将查询结果增量重定向到myhomework文件中。

ls~|grep “^[^a-np-qv-xz]\{3\}”>>myhomework

step11:任意字符出现固定次数的查询练习

查询用户主目录~下文件名中出现了两次o的文件,可连续,也可不连续出现,并将查询结果增量重定向到myhomework文件中。

ls~|grep “o.*o”>>myhomework

step12:多查询条件的查询练习。

查询用户主目录~下文件名中出现be或者re字符串的文件,并将查询结果增量重定向到myhomework文件中。

ls~|grep “be\|re”>>myhomework

step13:自由查询练习。

将用户主目录~下文件5th用任意方式单独查出,注意,不可直接使用字符串查询,要有正则表达式的内容体现,且结果只能有5th,而不能有其他结果,并将查询结果增量重定向到myhomework文件中。

ls~|grep “^5th$”>>myhomework

Linux&shell通过正则表达式查找文件练习的更多相关文章

  1. Linux - Shell - 在多个文件中查找关键字

    1. 概述 在多个文件中 查找内容 2. 想干啥 目的 在 多个文件 中, 查找内容 准备 之前在 单个文件里 查找过内容 工具 awk 前提 文件有固定格式 查找时有字段的要求 例子 # print ...

  2. Linux中常用的查找文件的命令

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索.这些是从网上找到的资料(参考资料1),因为有时很长时间不会用到,当要用的时候经常弄混了,所以放到这里方便使用. w ...

  3. 菜鸟学Linux命令:find命令 查找文件

    find命令是Linux下最常用的命令之一,灵活的使用find命令,你会发现查找文件变得十分简单. 命令格式 find [指定查找目录]  [查找规则(选项)]  [查找完后执行的动作] 参数规则 - ...

  4. linux系统中批量查找文件与文件内容的方法

    在linux中查看与修改文件权限我们都必须使用命令来操作,不能像windows一样点几下就好了,下面我们简单的介绍一下linux中的相关命令 比如查找当前目录下面所有的php文件里面某个关键字 fin ...

  5. shell脚本实现查找文件夹下重复的文件,并提供删除功能

    Windows下有软件FindDupFile,可以搜索指定目录及其下子目录,列出所有内容完全相同的文件(文件名可能不同),然后由用户选择删除重复的文件. 然而shell脚本却可以使用几行的命令完成与此 ...

  6. linux find 根据条件查找文件

    版权为个人所有,欢迎转载如转载请说明出处.(东北大亨) http://www.cnblogs.com/northeastTycoon/p/5513231.html 1. 实现说明 按照某一个时间点查找 ...

  7. linux常用命令指南——查找文件我最强:find

    2.3.2 查找文件我最强:find 2.3.2.1 find查找常用命令示例 find / -name 'wfy.txt' # 从根目录下开始查找文件wfy.txt find . -name '*f ...

  8. linux shell下除了某个文件外的其他文件全部删除的命令

    Linux反选删除文件 最简单的方法是 # shopt -s extglob      (打开extglob模式) # rm -fr !(file1)  如果是多个要排除的,可以这样: # rm -r ...

  9. linux shell 之终端读写文件数据流和重定向>,<,<<,>>

    终端实现文件中数据流的读写: 重定向命令列表如下: 命令 说明 command > file 将输出重定向到 file.将终端数据写到文件file中 command < file 将输入重 ...

  10. Linux中一个快速查找文件和目录的命令

    功能介绍: locate命令其实是find -name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,值得注意的是:版本不同,会有所不 ...

随机推荐

  1. 推荐一款支持Vue3的管理系统模版:Vue-Vben-Admin

    近年来,随着前端技术的飞速发展,各类后台管理系统框架层出不穷.Vue 作为热门的前端框架,也有许多优秀的后台模板涌现.而 Vue-Vben-Admin,凭借其高效.灵活的架构设计和完善的功能体系,成为 ...

  2. 云原生周刊:Score 成为 CNCF 沙箱项目|2024.08.12

    开源项目推荐 KubeOne Kubermatic KubeOne 自动化管理您所有云环境.本地环境.边缘计算和物联网环境中的集群操作.KubeOne 可以安装高可用(HA)的主集群,也可以安装单主集 ...

  3. 自如月租计算 ziroom

    前言 自如的房子月租看似不高,实际上它是收中介费的,加上中介费和未满一年的押金,房租其实非常高. 普通中介费一般收1个月,自如的中介费美名其曰服务费(除了网费想不到有什么用的),一年为1.2个月租金. ...

  4. html中div加滚动条

    div 加滚动条的两种方法: 一. <div style=" overflow:scroll; width:400px; height:400px;"></div ...

  5. Windows下如何用virtualenv创建虚拟环境

    虚拟环境可以有效的解决不同项目需要不同环境的问题,虚拟环境最大的好处就是可以将我们的开发环境进行隔离,让彼此之间不互相受影响.一.Windows下创建虚拟环境1.虚拟环境需要用到的库是virtuale ...

  6. 学习JavaScript第五天

    文章目录 1.HTML DOM 1.1 表单相关元素 ① form 元素 ② 文本输入框类和文本域(input 和 textarea) ③ select 元素 1.2 表格相关元素 ① table 元 ...

  7. UniswapV2Pair细节

    UniswapV2Pair合约是Uniswap V2协议中的核心部分,用于管理流动性池.代币交换.流动性代币的铸造和销毁等操作.以下是对UniswapV2Pair合约中所有主要方法及其参数的详细讲解. ...

  8. 如何避免 HttpClient 丢失请求头:通过 HttpRequestMessage 解决并优化

    在使用 HttpClient 发起 HTTP 请求时,可能会遇到请求头丢失的问题,尤其是像 Accept-Language 这样的请求头丢失.这个问题可能会导致请求的内容错误,甚至影响整个系统的稳定性 ...

  9. JAVA 使用注解lombok@Builder和@Data,primary not found default constructor

    由于添加@Builder会将@Data让类缺失无参构造器 应手动在实体中写构造函数并增加: @Tolerate 实体类名(){} 网上很多讲解 这里给一个我觉得讲的比较好的链接 https://www ...

  10. Python 潮流周刊#77:Python 依赖管理就像垃圾场火灾?(摘要)

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...