1.6三剑客

作用于文件名的通配符:
符号    作用
*        匹配任意(0个或多个)字符或字符串,包括空字符串※
?        匹配任意1个字符,有且只有一个字符

字符集合(匹配一堆字符/文本)
[abcd]    匹配abcd中任何一个字符,abcd也可是其他任意不连续字符
[a-z]    匹配a到z之间的任意一个字符,字符前后要连续,也可以用连续数字[1-9]

[!abcd]    表示不匹配括号里面的任何一个字符,也可书写为[!a-d],这里的!号可以用^替代,即[^abcd]

[root@oldboy ~]# seq -s " " 5
1 2 3 4 5
[root@oldboy ~]# seq -w -s " " 10
01 02 03 04 05 06 07 08 09 10

[root@oldboy ~]# seq 2 2 6 
2
4

基础正则表达式字符说明及实践:

^$    组合符,表示空行,逻辑解释就是以^结尾的行,或者以$开头的行

^.*    组合符,匹配以任意多个字符开头的内容

.*$    组合符,以任意多个字符结尾的内容

grep "0*" oldboy.txt  #匹配0个0,或1个0或多个0
egrep "0+" oldboy.txt #1个0或多个0
?    匹配前一个字符0次或1次
[root@oldboy test]# egrep "0?" oldboy.txt 
I am oldboy teacher!
I teach linux.

a{n,m}    匹配前一个字符最少n次,最多m次
a{n,}    匹配前一个字符最少n次
a{n}    匹配前一个字符正好n次
a{,m}    匹配前一个字符最多m次

【元字符】
表达式    描述
\b    匹配单词边界,例如:\boldboy\b只匹配oldboy单词不匹配oldboy*
测试:
[root@oldboy test]# egrep "oldboy\b" /etc/passwd
oldboy:x:5023:5023::/home/oldboy:/bin/bash


表11-3 特殊预定义表达式
正则表达式        描述    示例
[:alnum:]        匹配任意一个字母或数字字符,相当于[a-zA-Z0-9]    [[:alnum:]]
[root@oldboy test]# egrep "[[:alnum:]]" oldboy.txt 
I am oldboy teacher!

-A after 显示过滤的字符串和它之后的多少行
-B before 显示过滤的字符串和它之前的多少行
-C context 显示过滤的字符串和它之前之后的多少行

练习:取oldboy.txt 2-4行
sed -n '2,4p' oldboy.txt

sed -n '/oldboy/p' oldboy.txt

sed '2,4d' oldboy.txt#2-4行删除

vimdiff 查看2个文件差异,更直观
vimdiff oldboy.txt oldboy.txt.bak 

sed -i '2i I teacher linux,at 2i.' oldboy.txt #在oldboy.txt文件的第2行后追加文本。

ifconfig eth0|sed -rn 's#^.*inet (.*)  net.*$#\1#gp' #想要的内容要用括号括起来匹配,因为好把他拿出来。() \1

[参数]:
-F    指定字段分隔符※
变量名    属性
$n    当前记录的第n个列
$0    当前整行记录
NF    当前记录中的列的个数,就是有多少列
$(NF-n)    倒数第n列,n为数字
NR    已经读出的记录数,就是行号,从1开始

awk -F ":" '{print $1,$NF,NF}' test.txt 

awk 'NR==2,NR==3{print NR,$0}' test.txt 

cut切:
-d 指定分隔符(awk -F)
-f数字指定哪列,多列可用逗号或-
-c 按字符取内容

cut -d: -f1 /etc/passwd

echo oldboy oldgirl|cut -c 1-3,8-10   #取1-3以及8-10字符

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值