龙空技术网

Linux通配符 特殊符号 正则表达式

King代号K 717

前言:

此刻大家对“正则表达式匹配引号里的内容”大体比较珍视,看官们都需要分析一些“正则表达式匹配引号里的内容”的相关内容。那么小编也在网络上网罗了一些关于“正则表达式匹配引号里的内容””的相关知识,希望你们能喜欢,姐妹们快快来学习一下吧!

什么是通配符

它是shell的内置功能。

通配符(wildcard),指的是包含这些字符的字符串,‘*’‘{}’‘?’‘[]’

是用来匹配/查找文件、文件名的符号。Linux命令基本都支持通配符。

常用的就两个,一个是‘*’ 一个是‘{}’

*表示 任何字符 任何文本 所有

例如:找出/dir 以.txt结尾的文件

find /dir -type f -name "*.txt"

实例:

ls stu*.txt 显示出当前目录 stu开头的txt结尾的所有文件

find -type f -name "stu*.txt" 找出当前目录下所有stu开头,txt结尾的文件

find -type f -name "*.txt" 找出当前目录下所有txt结尾的文件

find -type f -name "stu*" -name "*.txt” 找出当前目录下所有stu开头并且txt结尾的文件

注意:ls与find区别 ls只查看目录一层的文件 find目标目录下有多少层就查看多少层。

找出当前目录下面,文件名中包含(只要有就行)book的文件——模糊查找

find -type f -name "*book*"

生成序列

{}以逗号分隔,且不能有空格。例如:

[root@learn]# echo {a..z} 顺序字母/数字生成

a b c d e f g h i j k l m n o p q r s t u v w x y z

[root@learn]# echo {9..1} 逆序数字/字母生成

9 8 7 6 5 4 3 2 1

[root@learn]# echo stu{1..10}{1..5} 字母数字粘连搭配生成

stu11 stu12 stu13 stu14 stu15 stu21 stu22 stu23 stu24 stu25 stu31 stu32 stu33 stu34 stu35 stu41 stu42 stu43 stu44 stu45 stu51 stu52 stu53 stu54 stu55 stu61 stu62 stu63 stu64 stu65 stu71 stu72 stu73 stu74 stu75 stu81 stu82 stu83 stu84 stu85 stu91 stu92 stu93 stu94 stu95 stu101 stu102 stu103 stu104 stu105

[root@learn]# echo {1,5,10} 逗号分隔,只显示内容

1 5 10

[root@learn]# echo {1..10..2} 从1开始到10结束 每次加2

1 3 5 7 9

实例

备份方法

实例

集合类型的通配符

&& 并且 前面命令成立再执行后面的

#ifdown eth0 && ifup eth0 前一个命令执行成功后再执行后面的命令。

目前就重启某一块网卡的时候使用。

>> [标准输出]追加重定向 把内容追加到文件的最后一行。

> 输出重定向 先把文件的内容清空 再把内容追加到文件的最后一行。

/ 根/etc/hosts 路径的分隔符号。

$ $LANG取出变量里面的内容。

$ awk里面 表示显示某一列。

$ 普通用户的命令提示符

. 当前目录 .bash_profile 隐藏的文件或目录 #ls -a 查看所有包括隐藏文件

.. 当前目录的上一级目录

~ 当前用户的家目录

| 管道 , 或者(正则表达式egrep)

# 配置文件里表示注释 解释说明

# root用户的命令提示符

&& 并且 前面命令成功时再执行后面的

|| 当前一个指令执行失败时,执行后一个指令 #tou test1 || touch test3

; 连续不同命令的分隔符

实例

如图所示

单引号,双引号,不加引号区别单引号(吃啥吐啥)

实例

双引号对特殊符号进行解析(运行),$ " $0

实例

1.1 不加引号类似双引,但支持通配符

实例

Linux正则表达式

对于我们运维大部分工作就是 过滤 在文件中找东西

比如:在文件中找东西,用grep 在文件中找含有ddos的文本#grep “ddos” ipattack.txt

文件中test后面有连续的数字,test1 test113 test14325345

这时grep就找不出来了。

#egrep "test[0-9]+" test.txt

就用到了正则表达式:

1、使用简单的符号 ^ $ . * +.......来表示字母 文本

2、省事 提高效率

正则表达式

1) 正则表达式(regular expression)就是为了处理大量的文字[文本]字符串而定义的一套规则和方法。

2) 通过定义的这些特殊符号的辅助,系统管理员就可以快速过滤,替换或输出需要的字符串。

3) Linux正则表达式一般以行为单位处理的。

简单一点说:

1、 为处理大量文本|字符串而定义的一套规则和方法。

2、 以行为单位出来,一次处理一行。

特点:

1、 在文件中找东西、处理的是文本、文 字

2、 高级货只有——三剑客 grep sed awk 用 (find)极少用。

正则表达式与通配符的区别:

通配符是用来找文件(文件名)的,Linux下面大部分命令都可以用通配符。

正则表达式是用来找/匹配 文本(文字 文件内容),能用的地方就是Linux三剑客 grep sed awk

正则表达式的使用注意事项

1、 正则表达式默认是按照 行 (以行为单位)来处理的。

2、 一定要注意不要使用中文符号。

。 ‘’ “” …… ( ) { } 【 】 中文符号

. ' ' "" ^ ( ) { } [ ] 英文符号

3、 给grep/egrep 找到的内容加上颜色。 加上别名。

#cat >>/etc/profile<<EOF

alias grep='grep --color=auto'

alias egrep='egrep --color=auto'

EOF

#source /etc/profile 生效

正则表达式的学习

grep使用正则表达式 使用 单引号。

\ 转义字符 去掉符号的特殊含义。

1.1.1 常用的基础正则表达式

^ $ . * [ ] [^]

^ 以……为开头。

$ 以……为结尾。

. 任何一个字符。

* 前一个字符连续出现0次或1次以上。连续出现的时候,会尽可能的匹配更多的符号。贪婪性。

.* 表示 所有 任何符号。有多少来多少。

[] [abc]表示一个整体,找出a或b或c任何一个字符,遇到一个找出一个,不按顺序。

[^]

标签: #正则表达式匹配引号里的内容 #java正则特殊字符 #linux 单引号怎么打 #正则表达式特殊字符转义 #正则表达式 符号转义