Linux——正则表达式

一、语系对正则表达式的影响

[a-z]的查找结果影响很大

 

LANG=C

0 1 2 3 4 … A B C D … a b c d …

LANG=zh_CN

0 1 2 3 4 … a A b B c C …

 

二、特殊符号与代表意义

[:alnum:]

英文大小写字符与数字 [a-z] [0-9] [A-Z]

[:alpha:]

英文大小写字符[a-z] [A-Z]

[:blank:]

空格与[Tab]按键

[:digit:]

[0-9]

 

P349

 

 

三、基础正则表达式字符

^word

待查的字符串(word)在行首

word$

待查的字符串(word)在行尾

.

一定有一个任意的字符

\

转义字符,将后面紧跟字符的特殊含义除去

*

前一个字符可以有0到无穷多个

[abc]

可以是abc

[a-z]

范围内的字符

[^abc]

不能是a\b\c

\{n,m\}

连续nm个前一个字符

 

四、支持正则表达式的工具

1sed -- 整行处理

sed […] 'n1,n2动作'

n1,n2:第n1行和n2行之间

动作:

a:新增,后加新增的字符串

c:替换,后加替换的字符串

d:删除,后不加任何东西

i:插入,后加字符串,会在当前的上一行出现

s:可接正则表达式,主要用于替换字符

p:打印

 

2awk -- 将一行分为字段进行处理

awk '条件1 {动作1} 条件2 {动作2} …' filename

$i:表示按照[Tab]或空格分割的第i个字段

$0:表示一整行数据

awk的内置变量

 

NF

一行拥有的字段总数

NR

目前处理的是第几行的数据

FS

目前的分隔符

awk的逻辑运算符

 

< > == != >= <=

 

 

3printf -- 处理打印格式

printf '打印格式' 实际内容

%nsn位字符

%nin位数字

%N.nf:共有N位(含小数点),小数有n

P362

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值