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次

相关推荐
踏着七彩祥云的小丑16 天前
Go学习第9天:并发编程 + 文件操作 + 正则表达式
学习·golang·正则表达式·go
bosins16 天前
密码复杂度验证正则表达式
正则表达式
小森林之主16 天前
正则表达式零宽断言实战:凌晨3点的服务器报警
python·正则表达式·零宽断言·服务器报警·正则速查
小森林之主17 天前
Python re 模块速查:从实战对比中掌握正则表达式
python·正则表达式·性能测试·re模块·编程实战
程序猿零零漆17 天前
Python进阶之路:正则表达式、高级语法与核心数据结构(链表、二叉树)全解析
数据结构·python·正则表达式
2301_7818335219 天前
Python 正则表达式入门教程
开发语言·python·正则表达式
五阿哥永琪19 天前
正则表达式
数据库·mysql·正则表达式
小森林之主19 天前
深入正则表达式:核心语法与实战剖析
javascript·python·正则表达式·编程技巧·字符串处理
小森林之主19 天前
JavaScript 正则表达式:从零开始的实战对比
javascript·正则表达式·前端开发·性能对比·文本处理
不吃土豆的马铃薯19 天前
C++ 正则表达式入门详解
linux·服务器·网络·数据库·c++·正则表达式