三剑客学习笔记

正则(re)

cat oldboy.txt
I am oldboy teacher!
I teach linux.

I like badminton ball ,billiard ball and chinese chess!
my blog is http://oldboy.blog.51cto.com
our size is http://blog.oldboyedu.com
my qq is 49000448

not 4900000448.
my god ,i am not oldbey,but OLDBOY!


^ 以什么开头  grep ’^I‘ oldboy
$ 以什么结尾 grep ’my &‘ oldboy

^$ 空行,空行指这一行中没有任何内容(空格也是符合),空格也是字符
grep -nv '^$' oldboy.txt 	-v:排除      -n 显示行号


.() 任意一个字符  ,不匹配空行
grep\.$‘ oldboy.txt

\ 转移字符,去除字符特殊含义

*  前一个字符连续出现0次或0次以上
.* 所有内容
grep ’^.*t‘ oldboy.txt

正则特色,贪婪
[] [abc] 1次匹配1个字符,匹配任何一个字符(a或b或c)
grep -o ’[abc]‘ oldboy.txt -o:显示匹配过程
[a-zA-Z0-9][a-Z0-9]:大小写加数字
grep -i ’[a-z0-9]‘ oldboy.txt

[a-z|A-Z|0-9]:[]里面的内容去掉特殊含义
[^] [^abc] 取反,排除abc内容
基础正则含义搭配
^以…开头的行,^oldboy
$以…结尾的行lidao$
^$空行^$
.任意一个字符
*前一个字符连续出现(重复)0次或0次以上
.*所有内容
\转义字符\t \n
[]一个整体,匹配任意一个字符[abc] a或b或c
[^]取反排除[^abc]
正则贪婪性
扩展正则
+ 前一个字符出现了一次或多次
egrep ’0+‘ oldboy.txt
grep -E '0+' oldboy.txt

egrep -o '[0-9]+' oldboy.txt

| 或者

[] | 的区别
[] :一次匹配一个字符
| :一次匹配一个字符或多个

() 括起来的内容,表示一个整体,后向引用(反向引用)
{} 连续出现 o{n,m} 前一个字母o,至少连续出现n次,最多连续出现m次

? 连续出现,前一个字符出现0次或1次

grep

在这里插入图片描述
在这里插入图片描述

sed

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

sed -n ‘1314p’ access.log
sed -nr ‘/[0-9]+/p’ oldboy.txt

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
echo 123456 | sed -r ‘s#(.*)#<\1>#g’

在这里插入图片描述
在这里插入图片描述
https://jex.im/regulex/#!flags=&re=%5E.t(.)%2F.*%24
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

awk

在这里插入图片描述

在这里插入图片描述
加粗样式

在这里插入图片描述

#取第5和第9列
ls -l | awk ‘{print $5,$9}’ | column -t

在这里插入图片描述
在这里插入图片描述

awk -F: -vOFS=: ‘{print $NF,$2,$3,$4,$5,$6,$1}’ /etc/passwd | column -t

在这里插入图片描述
取网卡ip
ip a s eno1np0 | awk ‘NR3’ | awk -F “[ /]+” ‘{print $3}’
ip a s eno1np0 | awk -F"[ /]+" 'NR
3{print $3}’

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
awk ‘BEGIN{a[0]=12306;a[1]=“lidao”;a[2]=“oldboy”;for(i in a) print i,a[i]}’

# 处理以下文件内容,将域名取出并根据域名进行计数排序处理:(百度和sohu面试题)
http://www.etiantian.org/index.html
http://www.etian.tian.org/1.html
http://post.etian.tian.org/index.html
http://mp3.etiantian.org/index.html
http://www.etiantian.org/3.html
http://post.etiantian.org/2.html

awk -F"[/.]+" ‘{print $2}’ url.txt
awk -F"[/.]+" ‘{array[$2]++}END{for(i in array)print i,array[i]}’ url.txt
awk -F"[/.]+" ‘{array[$2]++}END{for(i in array)print i,array[i]}’ url.txt | sort -rnk2

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
#统计磁盘空间的使用率
df -h | awk -F"[ %]+" ‘NR>1{if($5>=70)print “disk not enough”,$0}’
在这里插入图片描述
面试题:统计这段语句中,单词中字符数小于6的单词,显示出来

echo I am oldboy teacher welcome to oldboy training class.

echo I am oldboy teacher welcome to oldboy training class. | awk ‘{for(i=1;i<=NF;i++) print $i}’

(max) [chenzj@user src]$ echo oldboy lidao | awk '{print length()}'
12
(max) [chenzj@user src]$ echo oldboy lidao | awk '{print length($1)}'
6
(max) [chenzj@user src]$ echo oldboy lidao | awk '{print length($2)}'
5

echo I am oldboy teacher welcome to oldboy training class. | awk ‘{for(i=1;i<=NF;i++) if(length($i)<6)print $i}’

在这里插入图片描述

在这里插入图片描述

参考文献

https://blog.oldboyedu.com/category/linux-commands/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值