首页 > 系统相关 >Linux&shell通过正则表达式查找文件练习

Linux&shell通过正则表达式查找文件练习

时间:2022-12-30 18:14:42浏览次数:52  
标签:文件 shell grep myhomework 主目录 查找文件 查询 ls Linux

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

标签:文件,shell,grep,myhomework,主目录,查找文件,查询,ls,Linux
From: https://www.cnblogs.com/exmyth/p/17015513.html

相关文章

  • 执行shell脚本报错:Syntax error: word unexpected (expecting "in")
    可能是脚本文件换行符的问题。vs创建的文件默认以CRLF(0D0A)换行。然而对于换行,windows用CRLF(0D0A)表示,linux用LF(0A)表示。切换脚本文件换行符为LF(0A)后运行成功,如在vs中更改......
  • Shell declare和typeset命令:设置变量属性
    declare和typeset都是Shell内建命令,它们的用法相同,都用来设置变量的属性。不过typeset已经被弃用了,建议使用declare代替。declare命令的用法如下所示:declare......
  • Linux下c++开发的轻量级、高性能、高并发的web服务器
     代码:WebServer.zip项目描述:通过HTTP协议与客户端(通常是浏览器(Browser))进行通信,来接收、存储、处理来自客户端的HTTP请求,并对其请求做出HTTP响应,返回给客户端其请......
  • shell编程(超详细)
    shell变量变量是任何一种编程语言都必不可少的组成部分,变量用来存放各种数据。脚本语言在定义变量时通常不需要指明类型,直接赋值就可以,Shell变量也遵循这个规则。在Bas......
  • pycharm 远程连接Linux,进行python开发
    目前,pycharm是非常受欢迎的编写、调试python的IDE,那么为了方便我们在本地调试远程服务器中的代码,我们可以在pycharm中进行SSH与SFTP的连接,来进行远程服务器的文件添加、修......
  • USB总线-Linux内核USB3.0设备控制器之UDC驱动分析(六)
    1.概述UDC驱动的接口都定义在drivers/usb/gadget/udc/core.c文件中。USBFunction驱动通过调用这些接口匹配及访问USB设备控制器,而底层USB控制器驱动要实现这些接口定义的......
  • WIN10安装Linux子系统
    win10安装linux子系统配置环境系统设置-更新和安全-开发者选项。打开开发人员模式。搜索‘启用或关闭Windows功能’(控制面板、程序和功能里),勾选“适用于Linux的Windows......
  • Linux设置密钥登录
    使用密钥登录分为以下步骤:1、生成密钥(公钥与私钥)2、放置公钥(PublicKey)到服务器指定用户目录的.ssh/authorized_key文件中;3、配置SSH客户端使用密钥登录。4、测试密......
  • Linux搭建ELK+Filebeat+Redis分布式日志管理平台
    ELK介绍需求背景业务发展越来越庞大,服务器越来越多各种访问日志、应用日志、错误日志量越来越多,导致运维人员无法很好的去管理日志开发人员排查问题,需要到服务器上查日志,不......
  • Linux一键部署ELK+Filebeat+Nginx+Redis日志平台自动化脚本
    此脚本是Linux一键部署ELK+Filebeat+Nginx+Redis日志平台自动化脚本,有需要朋友可以参考,脚本内容如下:环境准备操作系统:CentOSLinuxrelease7.8.2003软件版本Elasticsearch:e......