开发培训大神shell脚本sed awk正则表达式_第1页
开发培训大神shell脚本sed awk正则表达式_第2页
开发培训大神shell脚本sed awk正则表达式_第3页
开发培训大神shell脚本sed awk正则表达式_第4页
开发培训大神shell脚本sed awk正则表达式_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

正则表达式文本过滤使用grepnobodyetc/passwd/etc/passwd文件中grepinoBOdyetc/passwd意义同上,但不区grepvnobodyetc/passwd显示/etc/passwd中nobody字样的行grep–nnobodygrep命grepselect*,列出当 下所有包select字样的文件名及含有select字样grephselect*和上一条相似,但不显示示文件名egrep是扩充功能的trtrt\n’/etc/passwd2.tr‘!?”:;\[\]{}(),.\t\n’‘’</etc/passwd|tr‘A-Z’‘a-tr‘!?”:;\[\]{}(),.\t\n’‘’</etc/passwd|tr‘A-Z’‘a-z’|tr‘rtr‘!?”:;\[\]{}(),.\t\n’‘’</etc/passwd|tr‘A-Z’‘a-z’|tr–s‘‘|tr‘-s:把多个空格压缩成一tr‘!?”:;\[\]{}(),.\t\n’‘’</etc/passwd|tr‘A-Z’‘a-z’|tr–s‘’|tr‘’‘\n’|sorttr‘!?”:;\[\]{}(),.\t\n’‘’</etc/passwd|tr‘A-Z’‘a-z’|tr–s|tr‘’‘\n’|sort|uniq–ctr‘!?”:;\[\]{}(),.\t\n’‘’</etc/passwd|tr‘A-Z’‘a-z’|tr–s|tr‘’‘\n’|sort|uniq–c|sort–rn|headsort–kstart,endsort–rn–k2,2 - - sed、awk语cmd‘script’ script结pattern是一个正则表达式,action是或sed在遇到pattern才去执元字用于匹配任意一个字符^$"\<the完整匹配单词"the不会匹配"them","there","other",有用的正则表达/*/一个或多个Z0-9\.]*.*/有效的URLscript的形式如sedpsed'/222/p'sed–n‘/0\.[0-9][0-9]$/p’sed'5d'sed'1,3d'sed'4,$d'符(rangeoperator)取代命令sed's/222/333/g'将所有的222取代为sed-n's/222/333/p' 转换yforiin`lsj=`echo$iEFGHIJKLMNOPQRSTUVWXYZ/'mv$i/pattern1/s/pattern2/pattern3/:1~3都是正则表达式,匹配规则pattern1的s命令提供了&操作,使得在pattern3中可以重复使用匹配字符串#nl/etc/passwd|sed'2adrinkd#nl/etc/passwd|sed#nl/etc/passwd|sed'2,5cNo2-5nl/etc/passwd|sed-n-i编辑原文件(此选项慎用,如果使用则原文件就会被修改,无法恢复)sed'2ixxx'sed'2axxx'filesed'2axxx'filesed'2,3ixxx'sed'2,$ixxx'awk过滤文awk awk–versionawk‘script’awk‘{script}’awk用打印文件内打印文件第awk'{print$3;}'每一个字段就是一段操作符 一个字段的值,第一个字段是打印文件中的第一列awk‘{print$1$3;}’在输出字段中没有分awk‘{print$1,$3}’或awk‘{print$1“\t”$3}’last|awk'{print$1"\t"例cat awk用awk‘{printf“%s%-8s\n”,$3,$1;}’awk{print$1,$2,$3,“*”;}’filename或awk‘{print$0,“*”;}’filenameawk‘/*$[1-9][0-9]*\.[0-9][0-9]*/{print$0,“*”;}awk中的比较操作比较操作符比较数字和字符串的值,如下 value~/pattern/如果value匹配样式则value!~/pattern/如果value语法格cat/etc/passwd|awk'{FS=":"}$3<10{print$1"\t"cat/etc/passwd|awk'BEGIN{FS=":"}$3<10{print$1"\t"awk$3<=75{printf“%s\t%s\n”,$0,“REORDER”;}$3>75{print混合表达awk($2~/^$[1-9][0-9]*\.[0-9][0-9]$/)&&($3<75){printf next命awk$3<=75{printf$3>75{print$0;}’ 为了 awk$3<=75{print$0;}’awk例$ls-l|awk‘$1!~/total/{printf“%-awk中的数值操作•+-*/if[-f$1echoawk‘/^*$/{x=x+1;printx;}’

echo“ERROR:$1notafile”BEGIN和awk‘/^$/{x=x+1;printx;}’BEGIN和END样式匹awkBEGIN/pattern/END{actions}’例if[-f$1echo–nawkEND{printf“%s\n”,x}’echo“ERROR:$1notafile”awk的内部变last|tail|awk'{print$1"\tlines:"NR"\tcolumes:"NF}'If[-f$1awkEND{printf“%s%s

echoFS默认是空格和制改变FS的默认awk‘BEGIN{FS=“:”;}{print/etc/passwdawk–F:‘{print$1,$6;}’awk中的流程控if(expr1)}elseif(expr2){}else}if例awk‘{printfif($2~/\$[1-9][0-9]*\.[0-9][0-9]/){printf“*printf}else

}else}

printfif($3<75)printf“}}’

}else}

printfwhile(expr)}awkwhile(x>}print}’do语do}whiledo语句至少执行awkdo}print’for语 awkfor(x=1;x<=NF;x=x+1){printf“%s”,$x;}printf}’cut命命令格式cutd分隔字符cf-d:后面接的是用来分隔的字符,默认是空格cat/etc/passwd|cut-d":"-flast|cutdf1//以空格符为分last|cutc1-20//将last之后的数据,每一行1-20个字符取出tee命中呢?这个时候就需要tee这个指last|teelast.list|cut-d""-split命将大的文件分割-bsize来将一个分割的文件限split-l5/etc/passwdtest testaa,testab,testac...等等的小文件一些常用工typesleep暂停给定的秒数,sleepforiin$(seq110)echo–e“\a”sleep2find命find/-namefind/-name“*apple*-find/home–namefind/home–name“?[1-find/-typed(fbcl-mtime文件修改时间//vi、echo修改-atime文 时间//用cat、vi查看会改变此文件时-ctime文件改变时间//vi、echo修改文件、 statfileanme查看以上3find/-find/-name“*apple*”–typef–size+50–mtime-3–printfind/\(-size+50–o–mtime-3\)find/-nameapple oda+r{}find/-nameapple–execrm-f{}

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论