鸟哥私房菜 第12章 正则表达式与文件格式化处理

本章主要讲了基础的正则表达式以及文件格式化处理的指令,如sed.awd等

1、正则表达式是处理字符串的方法,他是以行为单位来进行字符串的处理行为。
2、grep [-A] [-B] '搜索字符串' filename 

 -A:后面可以跟数字,为after的意思  eg: dmesg | grep -n -A3 -B2 --color=auto 'eth'

-B:后面可以跟数字,为before的意思。

3、[]中无论多少个字符,只能取其中一个。

 4、^ 非的意思。如[^a-z]意味着不是小写字母。 [a-z][A-Z][0-9]表示连续的小(大)写字母,数字。

 ^在[]中表示“非”。如果不在[]中,则意味着行首。

5、在正则表达式中 “.” 代表“一定有一个任意字符”的意思。

                              “*” 代表“重复前一个0到无穷次”的意思。

                             “.*”代表零个或者多个任意的字符。

 6、限定连续RE字符范围{},但是{与}在shell是有特殊意义的,因此,必须要使用转义字符\来让它失去特殊意义才行。如想找到两个o的字符串 eg. grep -n 'o\{2\}' filename.如果需要一个范围,如包含2-5个o的字符串 grep -n 'o\{2,5\}' filename
7、sed [-nefr] [动作]    动作说明:[n1[,n2]] function   
 n1、n2不一定会存在,一般代表选择进行动作的行数。 function有一系列的参数 a添加,c替换,d删除,i插入,p打印,s替换。 如 nl /etc/passwd | sed '2,5d' 即将/etc/passwd的内容列出来并且打印行号,同时将2~5行删除。
sed -i 可以直接修改文件内容,有时候可以直接代替vi指令。特别是很大的文件。
8、awk :相比于sed常常用于一整行的处理,awk则比较倾向于将一行分成数个“字段”来处理。因此awk相当适合处理小型的数据数据处理。
awk '条件类型1{动作1} 条件类型2{动作2}...' filename
awk 主要是处理每一行的字段内的数据,而默认的字段的分隔符为空格键或tab键。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值