首页  电脑故障排除  病毒安全 电脑基础知识  硬件知识  软件应用知识  操作系统知识  编程程序

美国编程网址 日本编程网址 法国编程网址 德国编程网址 韩国编程网址 香港编程网址 台湾编程网址

您的位置:首页>>编程程序>>Mysql

awk和sed整理后资料

 
awk和sed整理后资料
sed及awk部分为本人学习笔记,呵呵,自己写的哦
sed命令:格式:sed -e 's/aaa/bbb/g' -n -e '/XXX/p' -e '/YYY/d' filename
命令参数:-e 执行多个SED命令s替换g全文-n显示过滤后的部分,否则会重复显示一次原文p显示出来printd删除\把元字符转化($,\.,\^,\/)
正则表格式:/^$/ 空行/^.*/ 一整行/*/ 一个或多个空格/[a-zA-Z][a-zA-Z]*:W[a-zA-Z0-9][a-zA-Z0-9\.]*.*/ 有效的URL
例:$cat ttaaa XXXaaa YYYbbb XXXbbb YYY$sed -e 's/aaa/bbb/g' -n -e '/XXX/p' -e '/YYY/d' ttbbb XXXbbb XXXhos08:/u1/hos08/tmp>注解:把aaa替换成bbb,过滤包含XXX的行,删除包含YYY的行。
awk (一)< 小于> 大于<= 小于等于>= 大于等于== 等于!= 不等于value~/pattern/ 如果value匹配样式,为真value!~/pattern/ 如果value不匹配样式,为真&& A与B|| A或B使用 printf语句中参数可以使段落整齐。$cat ttaaa XXX 100 5aaa YYY 98 9bbb XXX 111 3bbb YYY 99 8过滤包含aaa的行并以,"TTT",格式显示出来$awk ' /aaa/ {print ,"TTT",;} ' ttXXX TTT aaaYYY TTT aaa过滤第三列为2位数字,并且第四列大于5的行$awk ' ( ~ /[0-9][0-9]/ ) && ( > 5 ) { print ,,, ;}' ttaaa YYY 98 9bbb YYY 99 8把所列行后边加*号$awk ' ( ~ /[0-9][0-9]/ ) && ( > 5 ) { printf "%s\t%s\n" ,,"*";}' ttaaa YYY 98 9 *bbb YYY 99 8 *把第一列替换成nnn并在结尾加TTT,再把第一列替换成uuu直接显示。$awk ' = "nnn" { printf "%s\t%s\n" , , "TTT" ; } = "uuu" { print ; } ' ttnnn XXX 100 5 TTTuuu XXX 100 5nnn YYY 98 9 TTTuuu YYY 98 9nnn XXX 111 3 TTTuuu XXX 111 3nnn YYY 99 8 TTTuuu YYY 99 8针对上一行加入了next,其功能是如果第一段命令为真则跳过以后段直接重新开始检查$awk ' = "nnn" { printf "%s\t%s\n" , , "TTT" ;next; } = "uuu" { print ; } ' ttnnn XXX 100 5 TTTnnn YYY 98 9 TTTnnn XXX 111 3 TTTnnn YYY 99 8 TTT把第三列大于等于100的行加TTT,再把第四列大于等于5的行连同上一查询结果一同列出来。$awk ' >= 100 { printf "%s\t%s\n" ,,"TTT" ; } >= 5 { print ; } ' ttaaa XXX 100 5 TTTaaa XXX 100 5aaa YYY 98 9bbb XXX 111 3 TTTbbb YYY 99 8把第三列大于等于100的行加TTT,再把小于100的行连同上一查询一同列出来。$awk ' >= 100 { printf "%s\t%s\n" ,,"TTT" ; } < 100 { print ; } ' ttaaa XXX 100 5 TTTaaa YYY 98 9bbb XXX 111 3 TTTbbb YYY 99 8搭配其他命令来使用。$w 3:16pm up 4 days, 8:34, 30 users, load average: 0.97, 0.78, 0.80USER TTY FROM LOGIN@ IDLE JCPU PCPU WHATusr0809 pts/1 172.26.4.52 2:31pm 23:52 0.54s 0.00s -bashusr0809 pts/2 172.26.4.49 12:53pm 0.00s 10.68s 0.03s -bashu0809 pts/3 172.26.4.56 7:39am 28:29 7.59s 0.01s -bashu0809 pts/4 172.26.4.51 2:20pm 55:45 0.12s 0.02s -bash过滤包含pts的行,并显示它的第三和第一列$w |awk ' = /pts/ {printf "%s\t%s\n",,;}'172.26.4.52 user1172.26.4.49 user2172.26.4.56 user3172.26.4.51 user4

查看上一页  返回分类首页 返回96PC首页  查看下一页

  版权所有:电脑知识大全 网站备案:粤ICP备07031496号  联系我们

友情链接:母婴知识  外贸商务网  娱乐频道  汽车维修知识  股票入门知识  游戏攻略秘籍  本站空间由安信网络提供