对文档中目录名进行替换
#sed -e 's/\/home\/sxzhou/\/home\/SXZHOU/' < sed.txt
查找文件格式是 txt 和 jpg 格式的文件
#find . (-name ".txt" -o -name ".jpg") -print
递归目录过滤字段
#grep 'aaaa' -R
过滤以大写字母开头的行
#grep -n '^[A-Z]' 1.txt
搜索 ooo 前没有 g 的字符串所在的行
- #vi test.txt
- sxzhou
- sxzhouooo
- sxzhogooo
- ooosxzhou
- SXZHOU
- #grep "[^g]ooo" test.txt
- sxzhouooo
搜索开头不是英文字母的行
- #vi test.txt
- sxzhou
- sxzhouooo
- sxzhogooo
- ooosxzhou
- SXZHOU
- 123ndfkjd
- #grep "^[^a-zA-Z]" test.txt
- 123ndfkjd
过滤空行和注释行
#egrep -v "^#|^$" 1.txt
过滤包含连续两个字母 o 的行
- #cat test.txt
- sxzhou
- sxzhouooo
- sxzhogooo
- ooosxzhou
- SXZHOU
- 123ndfkjd
- dfsdjfoo
- hdskfho
- #grep -n 'o{2}' test.txt
- 2:sxzhouooo
- 3:sxzhogooo
- 4:ooosxzhou
- 7:dfsdjfoo
- #grep "ooo" test.txt
- sxzhouooo
- sxzhogooo
- ooosxzhou
- dfsdjfoo
搜索包含 s 和 u 之间任意个数的任意字符的字符串所在行. 表示 0 个或多个任意字符
- #cat test.txt
- sxzhou
- ooosxzh24~ou!
- sxzhsdfkhou++
- sxzhsdjfouM
- sxzh
- #grep "s.u" test.txt
- sxzhou
- ooosxzh24~ou!
- sxzhsdfkhou++
- sxzhsdjfouM
过滤有连续两个数字或三个数字的行
#grep -n '[[:digit:]]{2,3}' /etc/passwd
过滤 root 和 apache 用户的 shell 和 UID
#egrep '^\b(root|apache)\b' /etc/passwd | cut -d: -f3,7
过滤至少一个空白字符开头的行
#grep "^[[:space:]]+.*" 1.txt
过滤字段的行, 字段格式为 #开头, 接着至少一个空白字符, 接着至少一个非空白字符
#grep "^#[[:space:]]+[^[:space:]]" 1.txt
过滤以 root 开头的行
#awk '/^root/' /etc/passwd
过滤包含 500 的行, 匹配行的第一, 二个域加 10
#awk -F: '/500/ {print $1,$3+10}' passwd
正则表示 ip 地址 0.0.0.0 到 999.999.999.999
"[0-9]{1,3}[.]{3}[0-9]{1,3}"
正则表示 IPV4 的 IP
^(25[0-5]|2[0-4]\d|(1\d{2}|[1-9]?\d))(.(25[0-5]|2[0-4]\d|(1\d{2}|[1-9]?\d)){3}$)
分析:
IP 分为四段, 每段数字范围为 0-255,IP 地址组成特点: 250-255,200-249,0-199
250-255 表示 25[0-5]
200-249 表示 2[0-4]\d
0-199 表示
0-9 表示 \d
10-99 表示 [1-9]\d
100-199 表示 1\d{2}
所以 0-199 可以表示为 (1\d{2}|[1-9]?\d)
0-255 就可以表示为 (25[0-5]|2[0-4]\d|(1\d{2}|[1-9]?\d))
从多到少列出每个远程主机的连接数
#netstat -tnu | grep "[0-9]" | tr -s """:" | cut -d: -f6 | sort | uniq -c | sort -rn
持续更新中....
来源: http://www.bubuko.com/infodetail-2577388.html