1.grep命令总结
[root@cacti~]#catzh888.txt//查看zh888.txt内容 123 456 abc def def [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行不打印出来 456 abc def def [root@cacti~]#grep-n"123"zh888.txt//输出内容和行数 1:123 6:123456 [root@cacti~]#grep[0-9]zh888.txt//grep0-9的数字 123 456 123456 [root@cacti~]#grep-v[0-9]zh888.txt//去掉0-9 abc def def [root@cacti~]#grep'^1'zh888.txt//,”^”表示行的开始,”$”表示行的结尾,那么空行则表示”^$”, 123 123456 [root@cacti~]#grep'f$'zh888.txt//过滤f结尾的内容 def def [root@cacti~]#grep'^[^a-zA-Z]'zh888.txt//把数字全部过滤出来 123 456 123456 456789 234567 [root@cacti~]#grep'1..4'zh888.txt//“.”表示任意一个字符,上例中,就是把符合r与o之间有两个任意字符的行过滤出来。 123456
[root@cacti~]#grep'123*'zh888.txt//“*”表示零个或多个前面的字符。 123 123456
[root@cacti~]#grep'.*'zh888.txt//‘.*’表示零个或多个任意字符,空行也包含在内。 123 456 abc def def 123456 456789 234567
2.sed的命令总结 [root@cacti~]#sed-n'1'pzh888.txt//打印zh888.txt第一行内容 123
[root@cacti~]#sed-n'1,3'pzh888.txt//打印1-3行的内容 123 456 abc
[root@cacti~]#sed-n'/abc/'pzh888.txt//打印包含abc的字符串内容 abc
[root@cacti~]#sed-n'/^1/'pzh888.txt//打印1开头的内容 123 123456
[root@cacti~]#sed-n'/6$/'pzh888.txt//打印6结尾的内容 456 123456
[root@cacti~]#sed-n'/1..4/'pzh888.txt//打印1..4的任意内容 123456
[root@cacti~]#sed-n'/23*/'pzh888.txt//大衣呢23结尾的任意内容 123 123456 234567
[root@cacti~]#sed-e'1'p-e'/123/'p-nzh888.txt//打印123开头的内容 123 123 123456
[root@cacti~]#sed'1'dzh888.txt//删除第一行内容 456 abc def def 123456 456789 234567
[root@cacti~]#sed'2,$'dzh888.txt//删除2到结尾的所有内容 123
[root@cacti~]#sed'1,3'dzh888.txt//删除1到3的内容 def def 123456 456789 234567
[root@cacti~]#sed'/123/'dzh888.txt//删除123的内容 456 abc def def 456789 234567
[root@cacti~]#sed'1,2s/123/888/g'zh888.txt//1到2行的123替换成888以全局替换,/可以换成#或者@都是可以的。 888 456 abc def def 123456 456789 234567
[root@cacti~]#sed's/[0-9]//g'zh888.txt//把0到9数字全部过滤掉
abc def def
[root@cacti~]#sed's/[a-zA-Z]//g'zh888.txt//吧a-zA-Z的字母全部替换掉 123 456
123456 456789 234567
3.awk命令总结
[root@cacti~]#echo"1:2:3">>zh888.txt//添加内容到zh888中去
[root@cacti~]#echo"4:5:6:7">>zh888.txt//添加内容到zh888中区
[root@cacti~]#tail-n2zh888.txt|awk-F':''{print$1}'//查看末尾2行利用管道和分隔符打印第一段字段内容。 1 4
[root@cacti~]#tail-n2zh888.txt|awk-F':''{print$1"zh888"$2"zh888"}'//在第一字段和第二字段末尾加上zh888 1zh8882zh888 4zh8885zh888
[root@cacti~]#tail-n2zh888.txt|awk-F':''{print"zh888"$1}'//在第一字段前面添加zh888内容 zh8881 zh8884
[root@cacti~]#awk'/123/'zh888.txt//查找123内容 123 123456
[root@cacti~]#awk-F':''$1~/7/'zh888.txt//让awk来匹配第一段7开头的数字 456789 234567
[root@cacti~]#awk-F':''/1/{print$2}/2/{print$3}'zh888.txt//利用awk连续匹配
2 3
[root@cacti~]#awk-F':''$2=="5"'zh888.txt 4:5:6:7 //利用逻辑判断等于来判断第二字段是否是5然后打印出来,awk中是可以用逻辑符号判断的,比如’==’就是等于,也可以理解为“精确匹配”。另外也有’>’,‘>=’,‘<’,‘<=’,‘!=’等等,值得注意的是,即使$3为数字,awk也不会把它当数字看待,它会认为是一个字符。所以不要妄图去拿$3当数字去和数字做比较。
[root@cacti~]#awk'{printNR}'zh888.txt//利用分隔符分割一共多少段 1 2 3 4 5 6 7 8 9 10
[root@cacti~]#awk'{printNF}'zh888.txt//一共有多少行 1 1 1 1 1 1 1 1 1 1
[root@cacti~]#awk'NR>=5'zh888.txt//大于5的行数打印出来def1234564567892345671:2:34:5:6:7 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|