Linux命令中的正则表达式怎么使用
Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。很多时候我们需要做一些文本匹配等操作,要用到正则表达式,接下来通过本文给大家介绍Linux命令中的正则表达式,需要的朋友参考下吧
具体介绍
1、单字符匹配符.
正则表达式主要由一些元字符和匹配模式组成
单字符匹配符可以匹配任意单个字符,这个字符的功能和文件名匹配符中的?功能相同
使用正则表达式查找文本,首先需要使用元字符组成一个查找模式
(1)使用查找模式时,通常将其放入两个斜杠//中,然后再放入命令,例如要在一个文本中查找匹配模式/.i...../,可能选项就有:只要小写字母没有出现在行首,或行尾的最后有5个字符都能匹配
2、单字符或字符串重复匹配符*
用来匹配单个字符或者一个字符串序列的一次或者多次重复出现
3、行首匹配符^
用于在匹配中指示行首位置字符串或者模式,使用时需要将行首匹配符放在要匹配的字符串或模式的前面
例如对命令ls -1 使用行首匹配/^1/,结果都是以1开头的
4、行尾匹配符$
用于在文本的每一行的行尾匹配字符串或模式,使用时将行尾匹配符放在字符串或模式后面
例如在文本中匹配所有行尾是love的行
/love$/
5、反斜杠屏蔽符\
该符用来屏蔽一些特殊字符的特殊含义,常见的特殊字符可能是引用符号,注释符号,通配符和逻辑运算符等,下面列举一些特殊的符号
注释、分隔符号:#、;等
引用符号:$、``、""等
元字符:.、*、^、$、?、[]、\等
逻辑运算符或操作符:||、&&等
在命令中使用这些字符时,都要使用反斜杠将其特殊含义屏蔽
例如使用乘法符号*做乘法运算,就要用反斜杠将其特殊含义屏蔽在做使用
# expr 256 \* 256
6、范围匹配符[]和排除范围匹配符[^]
与文件名通配符中的范围匹配符用法基本相同
(1)匹配单词love和Love:
/[L]ove/
(2)不匹配所有的字母:
[^a-z]
7、词首、词尾匹配符 \< 和 \>
用于在单词开头和单词结尾匹配特定的字符或模式
(1)例如要匹配以disc 为词首的文本,可以使用
/\
(2)要匹配以ment为词尾的文本,可以使用:
/ment\>/
8、重复次数匹配符"x\{\}"
可以全精确匹配字符或字符串连续出现的次数或次数范围
(1)要匹配字母m出现次数为5次的文本,可以使用:
/m\{5\}/
(2)要匹配字母m出现次数至少5次的文本,可以使用:
/m\{5,\}/
(3)匹配字母m出现次数在5至10次的文本,可以使用:
/m\{5,10\}/
9、组合并使用正则表达式
(1)在查找和筛选信息时,有时需要去除文本中的空行,由于空行没有任 何字符,可以使用行首,行尾匹配符匹配空行
/^$/
(2)有时一些文本为了看上去更加美观,会使用一种字符填充整行,可以使 用以下模式匹配这些行:
/^.*$/
(3)匹配以the或The开头的所有行
/^[tT]he/
(4)排除以the和The开头的所有行
/^[^Tt]he/
(5)匹配一个IP地址:
/[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}/
(6)匹配一个6个字母组成的字符串,前两个字符是字母,中间两个字符是22 且最后两个字符是小写字母:
[a-z]\{2\}22[a-z]\{2\}
(7)要精确匹配单词love:
/\/
补充:Linux基本命令
1.ls命令:
格式::ls [选项] [目录或文件]
功能:对于目录,列出该目录下的所有子目录与文件;对于文件,列出文件名以及其他信息。
常用选项:
-a :列出目录下的所有文件,包括以 . 开头的隐含文件。
-d :将目录像文件一样显示,而不是显示其他文件。
-i :输出文件的i节点的索引信息。
-k :以k字节的形式表示文件的大小。
-l :列出文件的详细信息。
-n :用数字的UID,GID代替名称。
-F : 在每个文件名后面附上一个字符以说明该文件的类型,“*”表示可执行的普通文 件;“/”表示目录;“@”表示符号链接;“l”表示FIFOS;“=”表示套接字。
2.cd命令
格式:cd [目录名称]
常用选项:
cd .. 返回上一级目录。
cd ../.. 将当前目录向上移动两级。
cd - 返回最近访问目录。
3.pwd命令
格式: pwd
功能:显示出当前工作目录的绝对路径。
相关阅读:Linux主要特性
完全兼容POSIX1.0标准
这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的疑虑。
多用户、多任务
Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。
良好的界面
Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。
支持多种平台
Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。
Linux命令中的正则表达式相关文章: