正则练习题

1、 取出 /etc/ 一级 目录下,体积最大的 普通文件

ls -l /etc/ | grep “^-” | awk ‘{print $5,$9}’ | sort -n | tail -n 1

2、## 用一个脚本证明 $* 和 $@ 的区别

找出 access.log (服务器下载 ) 中,访问次数最多的 5 个 IP地址

cat access.log | awk ‘{print $1}’ | sort | uniq -c | sort -n | tail -n 5

1、 找出 文件中 含有 大写 字母的 行

cat RE.txt | grep “[A-Z]”

2、 找出文件中含有数字 5-9 范围内的行

cat RE.txt | grep “[5-9]”

2、 找出文件中包含单数 80 的行

cat RE.txt | grep “80”

*** 扩展,找到大于 80 的数字

cat RE.txt | grep “[8-9][1-9]”

4、 找出 文件中 ,前后 都有 love 单词 出现的行

cat RE.txt | grep “^love$”

5、 找出 文件中 ,含有 连续 的 4 个 x 字母 以上 的行

cat RE.txt | grep “xxxx”

6、 找出 文件中 ,含有 标点符号的行 。

cat RE.txt | grep “[[:punct:]]”

7、 去掉 文件 中的 空行 ## (真正的空行,带有空格的空行)

cat RE.txt | grep -v “[[:space:]]”

8、 找出文件中以数字结尾的行。

cat RE.txt | grep “[0-9]$”

9、查找文件中,只有一个空格的行。

10、显示/proc/meminfo文件中以不区分大小的s开头的行,再找到设置值0的行。

cat /proc/meminfo | grep -vn “^s” | grep “<0>”

11、通过 /proc/cpuinfo , 显示当前CPU 有多少个核心,以及它们的型号。

cat /proc/cpuinfo | grep -E “(cpu cores|name)”

12、取出默认shell为/sbin/nologin的用户列表## 相当于找出当前系统中,不能登录的用户的列表。

cat /etc/passwd | grep “nologin”

13、找到 /etc/login.defs 文件中,默认生效行和备用行可选行)。

cat /etc/login.defs | grep -E “([a-Z]|#[a-Z])”

14:匹配一个中国地区的 手机号码

cat RE.txt | grep “^1[35789][0-9]{9}$”

   11位数字
   1位 1 

15: 匹配 一个车牌号码 :
[root@uplooking /test]# cat test.txt | grep “[azIO[:punct:][:space:]]{5,6}$”

针对 歧义符号的练习 : ==================================

找到模板文件re.txt 中 ,带有下列符号的行

找到文件中带有 \ 符号的行 //

cat RE.txt | grep “\\”

找到文件中带有 . 符号的行

cat RE.txt | grep “.”

找到文件中带有 \ 符号的行

cat RE.txt | grep “\\\\”

找到文件中带有 /* 符号的行

cat RE.txt | grep “/*”

找到文件中带有 " 符号的行

cat RE.txt | grep “”"

找到文件中带有 ’ 符号的行

cat RE.txt | grep “’”

找到文件中带有  [   符号的行
# cat RE.txt | grep "\["

写一个监控脚本断当前系统的根分区用量超过20%记录日志
日志要求有时间,主机名,事件类型,事件描述
[root@server_35 /tmp/test]# cat system_use.sh
#!/bin/bash

sp=360
use_max=20
while [ 1 -eq 1 ]
do
sleep $sp
use=df -Th | grep "/" | awk '{print $6}' | tr -d % | head -n 1
if [ $use -gt u s e m a x ] t h e n e c h o " ‘ d a t e ‘ use_max ] then echo "`date` usemax]thenecho"date{HOSTNAME}WARNING,系统用量超过$use_max!"
fi
dome

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值