1、sed 对文档中目录名进行替换 #sed -e 's//home/sxzhou//home/SXZHOU/' < sed.txt    2、find 查找文件格式是txt和jpg格式的文件 #find . ( -name ".txt" -o -name ".jpg" ) -print     3、grep 3.1、 利用''对字段过滤 递归目录过滤字段 #grep 'aaaa' * -R     3.2、利用[]对集合字符过滤 用^符号做[]内的前缀,表示除[]内的字符之外的字符    过滤以大写字母开头的行 #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     3.3、行首与行尾字符^$ 过滤空行和注释行 #egrep -v "^#|^$" 1.txt   3.4、星号表示有0个或多个 某个字符,点. 代表一个任意字符 过滤包含连续3个字母o的行 #cat test.txt sxzhou sxzhouooo sxzhogooo ooosxzhou SXZHOU 123ndfkjd dfsdjfoo hdskfho     #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     限定连续重复字符的范围 { } 过滤包含连续两个字母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    3.5、过滤有连续两个数字或三个数字的行 #grep -n '[[:digit:]]{2,3}' /etc/passwd

3.6、扩展特殊符号*、+、?、| 过滤root和apache用户的shell和UID #egrep '^\b(root|apache)\b' /etc/passwd | cut -d: -f3,7     过滤至少一个空白字符开头的行 #grep "^[[:space:]]+.*" 1.txt     过滤字段的行,字段格式为#开头、接着至少一个空白字符、接着至少一个非空白字符 #grep "^#[[:space:]]+[^[:space:]]" 1.txt     *,表示0个或多个重复字符,也可表示为{0,} +,表示一个或多个重复字符,也可表示为{1,} ?,于表示0个或一个字符。也可表示为{0,1} |,表示或关系或    ()的好处是可以对小组使用+?*等。 过滤以root开头的行 #awk '/^root/' /etc/passwd   4、awk 过滤包含500的行,匹配行的第一、二个域加10 #awk -F: '/500/ {print $1,$3+10}' passwd   5、正则表示IP地址 正则表示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))   6、其他正则应用 从多到少列出每个远程主机的连接数 #netstat -tnu | grep "[0-9]" | tr -s " " ":" | cut -d: -f6 | sort | uniq -c | sort -rn  

持续更新中....

  参考: https://blog.csdn.net/tenfyguo/article/details/6387786