正则表达式

正则表达式:

定义:由元字符组合的式子,可以当作patten使用以匹配符合特定特征的字符串。

分类:基本正则表达式、扩展正则表达式

man 7 regex查看正则表达式的文档

grep的用法:

grep [options] PATTERN [FILE...]

grep [options] [-e PATTERN | -f FILE] [FILE...]

--color=auto:可以将找到的关键字部分加上颜色

-v:反向选择,即显示没有查找的字符串的那一行

-i:忽略大小写

-r:搜索多个文件(递归搜索)

-o:只显示被匹配的string

-n:显示行号

-A:后面接数字,为after的意思,除了显示改行外,后续的n行也显示出来

-B:后面接数字,为befer的意思,除了显示改行外,前面的n行也显示出来

-C:后面接数字,为connent的意思,除了显示改行外,前后的n行也显示出来

eg.grep --color=auto -v root /etc/passwd

grep --color=auto -i -o man /etc/man.config

grep --color=auto -A 2 man /etc/man.config

元字符:

[:alnum:]:英文大小写字符及数字

[:alpha:]:任何英文大小写字符

[:lower:]:英文小写字符

[:upper:]:英文大写字符

[:digit:]:数字,即0-9

[:blank:]:空格键及【Tab】按键

[:space:]:任何会产生空白的字符,包括空格键【Tab】等

[:punct:]:标点符号,即"" ? ! # $ ; :

 ^PATTERT:^为行首锚定符

PATTERT$:$为行尾锚定符

^PATTERT$:行首行尾都必须是PATTERT

\<PATTERT:\<为词首锚定符

PATTERT\>:\>为词尾锚定符

.:用于匹配任意单个字符

*:用于匹配此前字符0到任意次

.*:匹配任意长度的任意字符

?:匹配此前字符1到任意次

\{m,n\}:匹配此前字符最少m次,最多n次

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

[^]:匹配指定范围外的任意单个字符

\(\):引用

eg. grep --color=auto "^the" aa.txt

grep --color=auto "\<red.*"  aa.txt

grep --color=auto "r\{3,8\}" aa.txt

grep --color=auto "r\(er\)atttt\1 " aa.txt

重定向:

标准输入:0

标准输出:1

标准错误输出:2

>输出重定向(会覆盖)

<输入重定向(会覆盖)

>>追加输出重定向

2>只重定向错误输出

&>整合标准输出与标准错误输出重定向到同一个文件中去

2>>追加错误输出重定向

2>&1将标准错误输出到标准输出上

<<在此生成文档

eg.tr 'a-z' 'A-Z' >/etc/issue

  mail root >/etc/issue

命令执行完成后,会有一个退出码:

正确是0

错误是1-255

可以使用命令echo $?获取这个退出码

管道:|

把前一个命令的输出当成后一个命令的输入

eg.ls -l /etc |more

ifconfig eth0 |grep --color=auto "inet addr:"|cut -d ' ' -f1 |

你可能感兴趣的:(职场,表达式,休闲)