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