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

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

posted @ 2022-12-30 17:55  牧之丨  阅读(276)  评论(0编辑  收藏  举报