shell(三剑客)

正则表达式
基本正则表达式元字符

^ 行首定位符

$ 行尾定位符

. 匹配任意单个字符 (单个)

*匹配前导符0到多次 *和左侧的字符配合 左侧字符可以出现0次到多次

例如:grep "abc*" /tmp/123 结果显示的是ab abc abcd……

.* 任意多字符 #会出现所有的内容

[] 匹配制定范围内的一个字符

[-] 匹配制定范围内的字符,连续的范围 比如:grep "[0-9]" 文件

[^] 匹配不在指定组内的字符 取反 比如:[ ^A ]bc 排除A的内容

('' "" \ ) 都是转义符 转的是右侧的字符

\ < 词首定位符 #中间没有空格

\ > 词尾定位符 #中间没有空格

() vim 编辑器 5,10s/\(.*\)/#\1 5到10行加注释 #在首行加字符

x\ {m\} 字符x重复出现m次 比如: grep "o\{3\}" 1.txt o字符重复出现3次的

x\ {m,\} 字符x重复出现m次以上 比如: grep "o\{3,\}" 1.txt o字符出现3次以及3次以上的

x{m,n\} 字符x重复出现m到n次 比如:grep "o\{3,5\}" 1.txt o字符出现3到5次的

扩展正则表达式元字符

+匹配1~n次前导符 #至少出现1次 * 比 + 多一次

?匹配0~1次前导符

| a|b匹配a或b

() 组字符

实例

/^$/ 空行

/^字符$/ 查看一个字符

/^[A-Z] [a-z]*3[0-5]/ 一个大写开头,0到多个小写或空格,3,最后是0-5的一个数字

/^[A-Z] [a-z ]*3[0-5]/ 0到多个小写字母,最后一个点

/^ *[A-Z] [a-z] [a-z]$/ 0到多个空格开头,一个大写,一个小写,再一个小写结尾

/^[A-Za-z]* [ ^, ] [A-Za-z] *$/ 0到多个字母开头,非逗号,0到多个英文结尾

/^[ \t]*$/ 0到多个 ,空格或tab的行

/^[ \t]*#/ 有0到多个,空格或者tab开头的行,的注释行

:1,$ s/([Oo]ccur)ence/\1rence/ 多个r # occurence occurrence 部分替换

:1,$ s/(square) and (fair)/\2 and \1/ 换个位置

grep

egrep 支持扩展正则

\w 所有字母与数字,称为字符[a-zA-Z0-9] 'l[a-zA-Z0-9]*ve' === 'l\w *ve' \W 所有字母与数字之外的字符,称为非字符 'love[ ^a-zA-Z0-9]+' === 'love\W+' \b 词边界 # \b === \ <或者 \ > 词首定位符 词尾定位符 '<love>' === '\blove\b'

fgrep不支持扩展正则

grep -v 取反

grep -q 静默 #需要在后面加上一个返回值

grep -R 可以查看目录下的文件

grep -o 只找到这个关键字就可以

grep -B2 前两行 关键字符的前两行

grep -A2 后两行 关键字符的后两行

grep -C2 上下两行 关键字符的上下各两行

egrep -n 带行号

egrep -l 只显示文件名

egrep TB Savage datefile.txt #找TB,在savage里找,在datafile里找 一个关键字符可以再多个文件中查找

sed

sed 流编辑

逐行分析文件中的内容

格式

sed 选项 命令 文件 #{选项}正则表达式

sed 选项 -f 脚本 文件 #基本不用

只有出现语法错误的时候才返非0

d 删除 sed -r '/root/d' passwd#删除passwd文件root行的信息

s 替换命令 sed -r 's/root/dufeng/g' passwd #替换passwd文件中root替换成dufeng ### g全局替换

sed -r 's/[0-9] [0-9]$/&.5/' passwd #替换passwd文件中以两位数字结尾的字符替换成字符加上.5

r读文件命

  • 17
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值