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