Linux-通配符与正则表达式

补充:命令

输出重定向

标准输出:是将信息输出在终端

标准错误输出:在执行命令的过程中所产生错误信息也是输出在终端

标准输入:从键盘输入

1、标准输入重定向

作用:将本来要显示在终端上的信息重定向到一个文件夹中

实现方法

>:将文件中原有的内容全部删除,然后进行写入

>>:在文件的原有内容后,追加新的内容

2、标准错误错误输出重定向

2>:将文件中原有的内容全部删除,然后进行写入

2>>在文件的原有内容后,追加新的内容

例:将正确和错误的信息都保存到同一个文件中

ls /root /raat &> 1.txt

通配符

1、*:任意长度的任意字符

例:删除以a开头的文件

rm -rf a*

2、?:一个长度的任意字符

例:删除文件名第二个是a的文件

rm -rf ?a

3、;(分号):用于链接多个命令

例:cd /tmp;cd ~;ls /

4、&&:只有前面的命令执行成功,后面的命令才会执行

例:cd ~ && ls

5、||:只有前面的命令执行失败,才会执行后面的命令

例:cd /toit || ls

6、#:注释行(描述信息,不执行)

7、|:管道符,将前面的命令执行结果,传递到后面

8、~:root的家目录

9、-:上一次所在的目录

例:cd - 》返回上一次所在目录

10、$:变量前加的符号

11、/:表示根或分隔符

12、>、>>:重定向

13、<<:用于打印菜单

例:

cat << EOF

> 1

> 2

> 3

> EOF

14、引号

" ":强引用,引用中的变量会变成变量的值

' ':弱引用,引用的内容原样输出

` `:命令替换

15、.(点):表示当前目录

..:表示上一级目录

16、{}:花括号展开

用法:创建1-10.dir目录

mkdir {1..10}.dir

正则表达式

构成:一堆特殊符号和字母构成----叫做元字符

作用:通过对文本中内容进行过滤,然后对文件中的内容进行过滤

正则表达式的种类

基础正则表达式

扩展正则表达式

通常结合三个命令来使用

grep

sed

awk

命令:grep

作用:对文件的内容进行过滤

格式:grep 选项 "匹配内容" 文件名

选项

-v:取反

-o:仅仅显示所匹配的内容

-E:使用扩展

-i:忽略大小写

正则和通配符的区别

通配符是对文件名进行匹配,正则表达式是对文件中的内容进行匹配

正则中元字符

1、匹配单个字符

.(点):表示任意一个字符(可以是空格、逗号、数字...)

例:匹配a前面有一个字符的行

grep ".a" 文件名

2、[ ]:表示范围内中的其中一个

[12345]:匹配1或2或3或4或5

[0-9]:匹配所有的数字

[a-z]:匹配所有的小写字母

[A-Z]:匹配所有的大写字母

[a-Z]:匹配所有的字母(不分大小写)

3、用字符集的方式表达

[[:space:]]:表示一个空格

[[:digit:]]:表示任意一个数字

[[:lower:]]:表示任意一个小写字母

[[:upper:]]:表示任意一个大写字母

[[:alnum:]]:表示任意一个字母+数字

[[:punct:]]:表示任意一个标点符号

4、^[]

例:匹配以a开头的行

grep "^[a]" 文件名

grep "^a" 文件名

例:匹配除a之外的任意字符

grep "[^a]" 文件名

5、显示匹配到的内容前的若干行

-An:显示匹配到的内容的后n行

-Bn:显示匹配到的内容的前n行

-Cn:显示匹配到的内容的前后各n行

例:匹配包含root的行前3行

grep -B3 "root" 文件名

6、次数匹配

*:前面字符出现了任意次数

例:过滤文件中开头第一个字符为a的行

grep "a*" 文件名

.*:表示任意长度的任意字符

例:过滤文件中以a开头,b结尾

grep "a.*b" 文件名

?:表示其前面的字符出现一次

a\{m,n\}b:b前面的a出现m次,最多n次

7、位置锚定

^n:表示以n开头的行

$n:表示以n结尾的行

\<n:表示单词首部

n\>:表示单词尾部

^$:表示空白行

8、分组

\( \):将一个内容当作一个整体看待

例:过滤出出现两个相同数字的行

grep "\([[:digit:]]\).*\1" 文件名

扩展正则表达式

基础正则:grep [选项] 匹配内容 文件名

扩展:

grep -E 匹配内容 文件名

egrep 匹配内容 文件名

{1, }等同+:其前面的字符至少出现过1次

相关推荐
前端李易安2 小时前
正则表达式应用场景与常用正则验证方法汇总
正则表达式
HoneyMoose4 小时前
正则表达式匹配英文字符
正则表达式
人生の三重奏19 小时前
正则表达式(补充)
正则表达式
沟沟里的农民1 天前
【正则表达式】粗浅学习
正则表达式
一路向北_.1 天前
CTFshow 命令执行 web29~web36(正则匹配绕过)
web安全·正则表达式·ctfshow
神的孩子都在歌唱3 天前
正则表达式中的贪婪模式和非贪婪模式
数据库·mysql·正则表达式
Amo Xiang4 天前
2024 Python3.10 系统入门+进阶(十六):正则表达式
开发语言·python·正则表达式
激动的兔子4 天前
正则表达式的使用示例--Everything文件检索批量重命名工具
正则表达式·everything
学习使我快乐014 天前
Web APIs 6:正则表达式
前端·javascript·正则表达式
kill bert5 天前
第18周 2-正则表达式
正则表达式