网络安全——linux文本三剑客

网络安全——linux文本三剑客

awk、grep、sed是linux操作文本的三大利器,合称文本三剑客,也是必须掌握的linux命令之一。三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂。grep更适合单纯的查找或匹配文本,sed更适合编辑匹配到的文本,awk更适合格式化文本,对文本进行较复杂格式处理。

1.grep

Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来(匹配到的标红)。

命令参数(可使用grep --help寻求帮助)

[root@localhost ~]# cat grepdemo.txt
aaa
bbbbb
AAAAaaa
BBBBBASDABBBDA

#-A显示行数:除了显示符合范本样式的那一列之外,还显示该行之后的所有内容
[root@localhost ~]# grep -A2  b grepdemo.txt
bbbbb
AAAAaaa
BBBBBASDABBBDA

#-B显示行数:除了显示符合范本样式的那一列之外,还显示该行之前的所有内容
[root@localhost ~]# grep -B3 a grepdemo.txt
aaa
bbbbb
AAAAaaa

#-C显示行数:除了显示符合范本样式的那一列之外,还显示该行之前和之后的所有内容
[root@localhost ~]# grep -C3 A grepdemo.txt
aaa
bbbbb
AAAAaaa
BBBBBASDABBBDA

#-c:显示单词匹配出现的行数
[root@localhost ~]# grep -c bbbbb grepdemo.txt
1

#-e:实现多个选项间的逻辑or关系
[root@localhost ~]# grep -e aaa -e bbbbb grepdemo.txt
aaa
bbbbb
AAAAaaa

#-i:ignore 忽略大小写匹配
[root@localhost ~]# grep -i a grepdemo.txt
aaa
AAAAaaa
BBBBBASDABBBDA

#-n:number 显示匹配到的行号
[root@localhost ~]# grep -n b grepdemo.txt
2:bbbbb

#-in:连用  显示忽略大小写的匹配以及相应的行号
[root@localhost ~]# grep -in b grepdemo.txt
2:bbbbb
4:BBBBBASDABBBDA

#-o:只显示匹配到的字符串
[root@localhost ~]# grep -o ASDA grepdemo.txt
ASDA

#-q:静默模式,不输出任何信息
[root@localhost ~]# grep -q aaa grepdemo.txt

#-v:显示不被匹配到的行,相当于[^]反向匹配
[root@localhost ~]# grep -v bbbbb grepdemo.txt
aaa
AAAAaaa
BBBBBASDABBBDA

#-w:匹配整个单词
[root@localhost ~]# grep -w aaaa grepdemo.txt
#无输出,无完整的单词匹配
[root@localhost ~]# grep -w aaa grepdemo.txt
aaa

#-f:从file文件获取PATTERN匹配
[root@localhost ~]# touch grep.txt
#使用vim编辑
[root@localhost ~]# cat grep.txt
aaa
bbb
[root@localhost ~]# grep -f grep.txt grepdemo.txt
aaa
bbbbb
AAAAaaa


2.正则表达式

2.1 匹配字符

[root@localhost ~]# cat test1
abc
123


//[

.  匹配任意单个字符,不能匹配空行 
[root@localhost ~]# grep . test1
abc
123
//[

[]匹配指定范围的任意单个字符
[root@localhost ~]# grep [a] test1
abc
[root@localhost ~]# grep [a1] test1
abc
123
[root@localhost ~]# grep [1] test1
123

[^]取反
[root@localhost ~]# grep [^a] test1
abc
123
//[
[root@localhost ~]# grep [^abc] test1
123
//[

[:alnum:] 或 [0-9a-zA-Z],匹配数字和字母
[root@localhost ~]# grep [[:alnum:]] test1
abc
123

[:alpha:] 或 [a-zA-Z],匹配字母
[root@localhost ~]# grep [[:alpha:]] test1
abc

[:upper:] 或 [A-Z],匹配大写字母
[root@localhost ~]# grep [[:upper:]] te
  • 12
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值