linux下的通配符与正则表达式
2012-05-14 12:14
267 查看
// 载自 : 鸟哥私房菜
linux下主要通配符与特殊字符如下:
* 代表0个或多个字符(或数字)
? 代表一个字母 ---- 数字不可以吗? 可以
# 注释,常用在脚本中
\ 转义字符,将特殊字符或者通配符还原成一般字符
| 分隔两个管道
; 连续命令分隔
~ 用户的家目录
$ 变量之前需要加的,变量替换值
& 将命令变成后台工作
! 逻辑意义上的非,not
/ 路径分隔
> >> 输出导向
' 单引号,其中的变量不具有置换功能
" 双引号,其中的变量具有置换功能,即:单引号较双引号严格
` 撇号,Tab键上面那个字符,两个 ` 之间的命令可以先执行
() 中间为子shell的起始与结束
[] 中间为字符组合
{} 中间为命令区块的组合
而正则表达式,可以分为基础正则表达式和扩展正则表达式
^ 在行首搜索,grep -n '^abc' file.txt 在file.txt中搜索以abc开始的行
$ 在行尾搜索,grep -n '^$' file.txt 搜索空行
. 点号,代表任意一个字符,必须有一个
\ 反斜杠,去除特殊符号的特殊意义,grep -n \' file.txt 搜索‘
* 前一个字符重复0次或多次
\{n,m\} 前一个字符重复n - m 次,如果没有m,则代表无上限
[ ] 字符集合,---- [ ] 仅代表一个待搜索的字符,需要范围时[2-4,a-g]
grep -n 'g[lde]g' file.txt,搜索glg, gdg, geg
grep -n 'g[^lde]g' file.txt,搜索除glg, gdg, geg以外的其它模式,但两个g之间一定要有一个字符
这里要注意的是:
1、^字符是否在 [ ] 中,作用是不同的
2、*字符在正则表达式中的作用与其充当通配符时的作用不同
3、!(叹号)字符在正则表达式中并不是特殊字符
扩展正则表达式:
egrep 即 grep -E 的别名
+ 前一个字符,重复1或多次,egrep -n 'go+gle' file.txt 搜索gogle, google, gooogle......
? 前一个字符,重复0或1次
| 用或的方式找出多个字符串, egrep -n 'abc|abd' file.txt 搜索abc或abd,---- |的两边没有空格
() 找出“用户组”字符串, egrep -n 'g(oo|la)d' file.txt 搜索good或glad
linux下主要通配符与特殊字符如下:
* 代表0个或多个字符(或数字)
? 代表一个字母 ---- 数字不可以吗? 可以
# 注释,常用在脚本中
\ 转义字符,将特殊字符或者通配符还原成一般字符
| 分隔两个管道
; 连续命令分隔
~ 用户的家目录
$ 变量之前需要加的,变量替换值
& 将命令变成后台工作
! 逻辑意义上的非,not
/ 路径分隔
> >> 输出导向
' 单引号,其中的变量不具有置换功能
" 双引号,其中的变量具有置换功能,即:单引号较双引号严格
` 撇号,Tab键上面那个字符,两个 ` 之间的命令可以先执行
() 中间为子shell的起始与结束
[] 中间为字符组合
{} 中间为命令区块的组合
而正则表达式,可以分为基础正则表达式和扩展正则表达式
^ 在行首搜索,grep -n '^abc' file.txt 在file.txt中搜索以abc开始的行
$ 在行尾搜索,grep -n '^$' file.txt 搜索空行
. 点号,代表任意一个字符,必须有一个
\ 反斜杠,去除特殊符号的特殊意义,grep -n \' file.txt 搜索‘
* 前一个字符重复0次或多次
\{n,m\} 前一个字符重复n - m 次,如果没有m,则代表无上限
[ ] 字符集合,---- [ ] 仅代表一个待搜索的字符,需要范围时[2-4,a-g]
grep -n 'g[lde]g' file.txt,搜索glg, gdg, geg
grep -n 'g[^lde]g' file.txt,搜索除glg, gdg, geg以外的其它模式,但两个g之间一定要有一个字符
这里要注意的是:
1、^字符是否在 [ ] 中,作用是不同的
2、*字符在正则表达式中的作用与其充当通配符时的作用不同
3、!(叹号)字符在正则表达式中并不是特殊字符
扩展正则表达式:
egrep 即 grep -E 的别名
+ 前一个字符,重复1或多次,egrep -n 'go+gle' file.txt 搜索gogle, google, gooogle......
? 前一个字符,重复0或1次
| 用或的方式找出多个字符串, egrep -n 'abc|abd' file.txt 搜索abc或abd,---- |的两边没有空格
() 找出“用户组”字符串, egrep -n 'g(oo|la)d' file.txt 搜索good或glad
相关文章推荐
- Linux正则表达式-通配符
- Linux通配符和正则表达式的异同
- linux中的正则表达式和通配符
- linux中的通配符与正则表达式
- Linux之正则表达式及通配符
- linux 通配符与正则表达式(grep、find) (转载)
- Linux_正则表达式(2.通配符,sed)
- linux 正则表达式和通配符
- linux通配符与正则表达式
- Linux学习笔记—day2(3.13)------基本命令,通配符,正则表达式
- linux 命令系列之 正则表达式和通配符(53)
- linux通配符和正则表达式 + notepad++
- Linux中通配符与正则表达式
- linux下通配符与正则表达式
- Linux中通配符、正则表达式和扩展正则表达式
- linux初学习之正则表达式和通配符
- linux 正则表达式和通配符
- Linux 正则表达式与通配符
- linux下的通配符与正则表达式
- linux通配符与正则表达式