[root@cacti ~]# cat zh888.txt //查看zh888.txt内容
123456abcdefdef[root@cacti ~]# grep -c "123" zh888.txt //打印123的行数为1行1[root@cacti ~]# echo "123456">>zh888.txt //在追加123456到zh888.txt文本中[root@cacti ~]# grep -c "123" zh888.txt //打印123的行数变为2
2[root@cacti ~]# grep -v "123" zh888.txt //把123行不打印出来456abcdefdef[root@cacti ~]# grep -n "123" zh888.txt //输出内容和行数1:1236:123456[root@cacti ~]# grep [0-9] zh888.txt //grep0-9的数字123456123456[root@cacti ~]# grep -v [0-9] zh888.txt //去掉0-9abcdefdef[root@cacti ~]# grep '^1' zh888.txt //,”^”表示行的开始,”$”表示行的结尾,那么空行则表示”^$”,123123456[root@cacti ~]# grep 'f$' zh888.txt //过滤f结尾的内容defdef[root@cacti ~]# grep '^[^a-zA-Z]' zh888.txt //把数字全部过滤出来123456123456456789234567[root@cacti ~]# grep '1..4' zh888.txt //“.”表示任意一个字符,上例中,就是把符合r与o之间有两个任意字符的行过滤出来。123456 [root@cacti ~]# grep '123*' zh888.txt //“*”表示零个或多个前面的字符。123123456 [root@cacti ~]# grep '.*' zh888.txt //‘.*’表示零个或多个任意字符,空行也包含在内。123456abcdefdef123456456789234567 2.sed的命令总结[root@cacti ~]# sed -n '1'p zh888.txt //打印zh888.txt第一行内容123[root@cacti ~]# sed -n '1,3'p zh888.txt //打印1-3行的内容
123456abc[root@cacti ~]# sed -n '/abc/'p zh888.txt //打印包含abc的字符串内容
abc[root@cacti ~]# sed -n '/^1/'p zh888.txt //打印1开头的内容
123123456[root@cacti ~]# sed -n '/6$/'p zh888.txt //打印6结尾的内容
456123456[root@cacti ~]# sed -n '/1..4/'p zh888.txt //打印1..4的任意内容
123456 [root@cacti ~]# sed -n '/23*/'p zh888.txt //大衣呢23结尾的任意内容123123456234567[root@cacti ~]# sed -e '1'p -e '/123/'p -n zh888.txt //打印123开头的内容
123123123456[root@cacti ~]# sed '1'd zh888.txt //删除第一行内容
456abcdefdef123456456789234567[root@cacti ~]# sed '2,$'d zh888.txt //删除2到结尾的所有内容
123[root@cacti ~]# sed '1,3'd zh888.txt //删除1到3的内容
defdef123456456789234567[root@cacti ~]# sed '/123/'d zh888.txt //删除123的内容
456abcdefdef456789234567[root@cacti ~]# sed '1,2s/123/888/g' zh888.txt //1到2行的123替换成888以全局替换,/可以换成#或者@都是可以的。
888456abcdefdef123456456789234567 [root@cacti ~]# sed 's/[0-9]//g' zh888.txt //把0到9数字全部过滤掉 abcdefdef[root@cacti ~]# sed 's/[a-zA-Z]//g' zh888.txt //吧a-zA-Z的字母全部替换掉
123456
123456
456789234567 3.awk命令总结 [root@cacti ~]# echo "1:2:3">>zh888.txt //添加内容到zh888中去 [root@cacti ~]# echo "4:5:6:7">>zh888.txt //添加内容到zh888中区 [root@cacti ~]# tail -n2 zh888.txt |awk -F':' '{print $1}' //查看末尾2行利用管道和分隔符打印第一段字段内容。14[root@cacti ~]# tail -n2 zh888.txt |awk -F':' '{print $1"zh888"$2"zh888"}' //在第一字段和第二字段末尾加上zh888
1zh8882zh8884zh8885zh888[root@cacti ~]# tail -n2 zh888.txt |awk -F':' '{print "zh888"$1}' //在第一字段前面添加zh888内容
zh8881zh8884[root@cacti ~]# awk '/123/' zh888.txt //查找123内容
123123456[root@cacti ~]# awk -F':' '$1~/7/' zh888.txt //让awk来匹配第一段7开头的数字
456789234567[root@cacti ~]# awk -F':' '/1/ {print $2} /2/ {print $3}' zh888.txt //利用awk连续匹配 23
[root@cacti ~]# awk -F':' '$2=="5"' zh888.txt
4:5:6:7//利用逻辑判断等于来判断第二字段是否是5然后打印出来,awk中是可以用逻辑符号判断的,比如’==’就是等于,也可以理解为“精确匹配”。另外也有’>’, ‘>=’, ‘<’, ‘<=’, ‘!=’ 等等,值得注意的是,即使$3为数字,awk也不会把它当数字看待,它会认为是一个字符。所以不要妄图去拿$3当数字去和数字做比较。 [root@cacti ~]# awk '{print NR}' zh888.txt //利用分隔符分割一共多少段12345678910[root@cacti ~]# awk '{print NF}' zh888.txt //一共有多少行
1111111111[root@cacti ~]# awk 'NR>=5' zh888.txt //大于5的行数打印出来
def1234564567892345671:2:34:5:6:7