Linux文件权限及正则表达式的应用

Linux文件权限及正则表达式的应用,第1张

1、显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录

2、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。

3、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中

4、用户和组

5、创建用户user1、user2、user3。在/data/下创建目录test

1、正则表达式和通配符有点像。区别在于通配符匹配的是文件名和目录名中的字符串,不能匹配文本中内容的字符串。而正则表达式匹配的是文本中的字符串。

2、正则表达式(REGEXP):由一类特殊字符及文本符号所编写的表达式,这种表达式的功能是匹配文本当中字符串。

3、正则表达式的特点:可以通过特殊字符及文本符号灵活组合各种过滤条件去匹配文本内容,从而达到自由度颇高的筛查方式。

4、正则表达式分两类:基本正则表达式(BRE)、扩展正则表达式(ERE),grep 加上 -E 参数就是使用 egrep。

5、元字符分类:元字符是指正则表达式中使用的特殊字符,这些特殊符号具有特定的功能。从功能上分类有:字符匹配、匹配次数、位置锚定、分组。

①、 .:匹配任意单个字符。

②、 [ ]:匹配指定范围内的任意单个字符。

③、 [^]:排除匹配指定范围内的任意单个字符。

④、 [:alnum:]:过滤字母和数字,包含了大写字母、小写字母 和 10个数字(0-9)。

⑤、 [:alpha:]:任何英文大小写字符,即 A-Z,a-z。

⑥、 [:lower:]:只过滤小写字母。

⑦、 [:upper:]:只过滤大写字母。

⑧、 [:blank:]:空白字符(空格和制表符)。

⑨、 [:space:]:水平和垂直的空白字符(比 [:blank:] 包含的范围广)。

⑩-①、 [:digit:]:十进制数字。

⑩-③、 [:graph:]:可打印的非空白字符。

⑩-④、 [:print:]:可打印字符。相当于 [:alnum:]、[:punct:] 和 space。

⑩-⑤、 [:punct:]:标点符号。

以下内容首发自公众号“小汪Waud”。

本期介绍在Linux环境下的正则表达式及grep命令。

正则表达式(Regular Expression)是对字符串 *** 作的一种逻辑公式,就是用事先定义好的一些特定字符及这些字符的特定组合,组成一个“规则字符串”,这个字符串用来表达对字符串的一种过滤逻辑。

正则表达式基本上是一种表示法,只要程序支持这种表示法,该程序就可以用来作为正则表达式的字符串处理之用。如vi、grep、awk、sed等程序支持正则表达式,所以可以使用正则表达式的特殊字符来进行字符串的处理。但例如cp、ls等命令并不支持正则表达式,所以只能用自己的通配符。

正则表达式依照 不同的严谨度 分为:基础正则表达式和扩展正则表达式。

注意!

grep是一种强大的文本搜索工具,可以使用 正则表达式匹配模式 查找文件里符合条件的字符串,并打印出来。

有点类似于WORD里的查找功能。

grep支持三种正则表达式语法:Basic、Extended和perl兼容。 如果没有提供正则表达式类型,grep将搜索模式解释为基本的正则表达式。要将模式解释为扩展正则表达式,请使用-E。

查看grep的帮助文档,如下

基本用法

grep [OPTION]... PATTERN [FILE]...

高级用法

grep [-A] [-B] [--color=auto] "查找字符" [模式] [文件]

常用参数

首先通过cat命令查看samples.txt的内容,如下图

如果想检索以K为行首的行,通过以下命令即可得到

如果想检索以Z为行尾的行,通过以下命令即可得到

如果想检索三个字符其中前面为K,后面为D中间字符,为任意字符,通过以下命令即可得到

参考资料

https://www.runoob.com/linux/linux-comm-grep.html

https://www.bilibili.com/video/BV1Yy4y117SX?p=12


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7340675.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-04
下一篇 2023-04-04

发表评论

登录后才能评论

评论列表(0条)

保存