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次

相关推荐
Patrick在香港3 天前
一个斜杠,把毫秒变成十几秒
android·数据库·python·性能优化·正则表达式·回溯·redos
echome8883 天前
Python 正则表达式:5 个日常够用的模式
python·正则表达式
yivifu4 天前
能够使用Python正则表达式函数的文本处理工具——Calibre电子书编辑器
正则表达式
全栈陈序员5 天前
【Python】基础语法入门(二十九)—— 正则表达式实战:文本处理利器
开发语言·人工智能·python·正则表达式
BruceXu11 天前
\b 在中文里会静默失效:三个正则坑和一份能用的字符边界方案
正则表达式
阿昭L12 天前
正则表达式
正则表达式·编译原理
波力海苔夹心脆67512 天前
C# 正则表达式零基础入门:从“看得懂“到“会用“
经验分享·后端·mysql·正则表达式·c#
FRing0314 天前
JavaScript入门到精通二十四(正则表达式、元字符、修饰符)
开发语言·前端·javascript·正则表达式
小白快快跑哦15 天前
python-字符串全解(六):正则表达式-元字符与转义
python·正则表达式·字符串·元字符·转义
小白快快跑哦17 天前
python-字符串全解(六):正则表达式-逻辑运算或
python·正则表达式·字符串·逻辑运算