O-Linux&Shell-W6正则表达式相关练习

O-Linux&Shell-W6

正则表达式练习(共10分)

正则表达式相关练习

1、空文件的建立(0.5分)

使用个人用户在用户主目录~下,一次性创建如下文件:

class1

and

class2

no

minna

please

hand

in

your

homework

before

November

5th

2、简单字符串定向查询练习(0.5分)

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

3、起始标志符练习。(0.5分)

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

4、结尾标识符练习。(0.5分)

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

5、起始与结尾标识符配合使用练习。(0.5分)

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

6、固定字符长度查询条件使用练习。(1分)

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

7、定向位数查询练习。(1分)

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

8、特定多字符的查询条件练习。(1分)

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

9、管道嵌套组合查询(0.5分)

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

10、管道嵌套组合并非集查询练习(1分)

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

11、任意字符出现固定次数的查询练习(1分)

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

12、多查询条件的查询练习。(1分)

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

13、自由查询练习。(0.5分)

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

14、使用任意查看命令查看myhomework文件里的内容。 (0.5分)

step01:
一次新建多个文件:

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

step02:
用到的命令有 ls 查看当前目录下的文件
grep 抓取内容,搜索匹配
| 管道,用一句话来描述什么是管道:把前一个命令原本要输出到屏幕的数据当作是后一个命令的标准输入

ls | grep 's1' >> myhomework
#此处用>重定向会更好: ls | grep 's1' > myhomework

step03:
文件名以a开头:
^ 作为行首提示符

ls | grep '^a' >> myhomework

step04:
$作为行末提示符

ls | grep '2$' >> myhomework

step05:
.代表任意字符,* 匹配其前面一个字符出现任意次0-n次

ls | grep '^n.*o$' >> myhomework

step06:
文件名长度为5,组合方式多种:
{n} 作用是使其前边的字符重复匹配n次,这里重复5次:

ls | grep '^.\{5\}$' >> myhomework
#或者用通配符
ls | grep ????? >> myhomework

step07:
以下任意一行都可实现

ls | grep '^…a.*' >> myhomework
#或者用$限制
ls | grep '^…a.*$' >> myhomework
#或者用{}重复匹配
ls | grep '^.\{3\}a.*' >> myhomework
#或者
ls | grep '^.\{3\}a.*$' >> myhomework

step08:
以下任意命令都可实现

ls | grep '^.*h.*d.*$' >> myhomework
#或者不用提示符约束限制
ls | grep '.*h.*d.*' >> myhomework
#或者用通配符
ls | grep [h]*[d] >> myhomework

step09:
以下任意命令都可实现

ls | grep '^i.$' >> myhomework
#或者
ls | grep '^i.\{1\}$' >> myhomework

step10:

ls | grep '^[^a-np-qs-tv-xz]\{4\}$' >> myhomework

step11:
以下任意命令都可实现

ls | grep '^.*o.*o.*$' >> myhomework
#或者
ls | grep 'o.*o' >> myhomework

step12:

ls | grep 'be\|re' >> myhomework

step13:
自由发挥,符合条件即可,举例:

ls | grep '^[1-5].*[h-t]\{2\}' >> myhomework
#或者
ls | grep '^[0-9][a-z]\{2\}' >> myhomework

step14:

cat myhomework
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值