




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
LINUX培训,汉王科技研发中心,部门:互联网应用部,2010-07-02,Sed编辑器,打印:p命令sed/north/pdatafile说明:默认情况下,sed把所有输入行都打印在标准输出上,如果在某一行匹配到模式north,sed将把该行另外打印一遍。sedn/north/pdatafile说明:如果指定了选项-n,则sed只打印包含模式north的那几行。,Sed编辑器,删除:d命令sed3ddatafile说明:删除第三行,其余的行都被打印到屏幕上。sed3,$ddatafile说明:删除从第三行到最后一行的内容,$代表文件的最后一行,逗号被称为范围操作符。,Sed编辑器,sed$ddatafile说明:删除最后一行。sed/north/ddatafile说明:所有包含模式north的行都被删除。替换:s命令seds/west/north/gdatafile说明:s命令用于替换,命令末端的标志g表示在行内进行全局替换。,Sed编辑器,sedns/west/north/pdatafile说明:当在行首找到west,将其替换为north,并打印此行。sedns/Hemenway/Jones/gpdatafile说明:文件中出现的所有Hemenway都被替换为Jones,只有发生变化的行才被打印。指定行的范围:逗号sedn/west/,/east/pdatafile说明:打印在模式west和east之间的所有行。,Sed编辑器,sedn5,/northeast/pdatafile说明:打印从第五行到第一个以northeast开头行之间的所有行。sed/west/,/east/s/$/*VACA*/datafile说明:修改从模式east和west之间的所有行,将各行的行尾($)替换为字符串*VACA*。多重编辑:e命令sede1,3des/Hemenway/Jones/datafile,Sed编辑器,说明:选项-e用于进行多重编辑。第一重编辑删除13行。第二重编辑将Hemenway替换成Jones。读文件:r命令sed/Suan/rnewfiledatafile说明:如果在文件datafile的某一行匹配到模式Suan,就在该行后读入文件newfile的内容。如果出现Suan的不止一行,则在出现Suan的各行后都读入newfile文件的内容。,Sed编辑器,写文件:w命令sedn/north/wnewfiledatafile说明:w命令把指定行写入文件。文件datafile中所有包含模式north的行都被写到文件newfile中。追加:a命令sed/north/ahellodatafile说明:在所有以north开头的行后加入”hello”,Sed编辑器,插入:i命令sed/eastern/ihellodatafile说明:如果在某一行匹配到模式eastern,i命令就在该行的上方插入命令中反斜杠后的文本。修改:c命令sed/eastern/chellodatafile说明:如果模式eastern被匹配,c命令将用反斜杠后的文本替换包含eastern的行,Awk实用程序,简单的操作Awkprint$3,$2datafile说明:打印结果是第三个字段,后面跟一个空格和第二个字段。Awkprint$0datafile说明:打印所有记录,$0保存的是当前记录Awkprint“Numberoffileds:“NFdatafile说明:Awk内置的变量NF用来保存记录的字段数。,Awk实用程序,模式与操作组合的正规表达式Awk/northeast/print$3,$2datafile说明:如果记录包含模式northeast,则打印它的第三个字段,后跟空格和第二个字段Awk/E/datafile说明:如果记录中含有字母E,就打印整条记录Awk/ns/print$1datafile说明:如果记录以n或s开头,就打印第一个字段。,Awk实用程序,Awk$2!/E/print$1,$2datafile说明:如果某条记录的第二个字段不含模式E,则打印该条记录的第一个字段,隔一个空格再打印第二个字段($1,$2)Awk$3/Joel/print$3“isaniceguy.”datafile说明:如果第三个字段以模式Joel开头,则打印该字段,并且在后面跟上字符串“isaniceguy.”,Awk实用程序,输入字段分隔符AwkF“:”print“Numberoffileds:“NFdatafile2说明:字段分隔符设置成为冒号AwkF“:”print$1,$2datafile2说明:可以用正规表达式来指定多个字段分隔符,空格或冒号将指定为是字段分隔符。,Bashshell编程,编写第一个脚本rootlinuxscripts#vish01.sh#!/bin/bashEchoe“HelloWorld!n”Exit0rootlinuxscripts#shsh01.shHelloWorld!简单的Shell脚本,Bashshell编程,rootlinuxscripts#vish02.sh#!/bin/bashReadp“Pleaseinputyourfirstname:“firstnameReadp“Pleaseinputyourlastname:“LastnameEchoe“nYourfullnameis:$firstname$lastname”数值运算的方法var=$(运算内容),Bashshell编程,#!/bin/bashEchoe“Youshouldinput2number,Iwillcrossthem!n”Readp“firstnumber:”firstnuReadp“secondnumber:”secnuTotal=$($firstnu*$secnu)Echoe“nThenumber$firstnux$secnuis$total”,Bashshell编程,使用判断条件使用test命令的测试功能rootlinux#teste/dmtsairootlinux#teste/dmtsaithen当条件判断表达式为true时,执行的语句fi范例:#!/bin/bashreadp“Pleaseinput(Y/N):”ynif“$yn”=“Y”|“$yn”=“y”;thenecho“OK,continue”,Bashshell编程,exit0fiif“$yn”=“N”|“$yn”=“n”;thenecho“Ohinterrupt!”exit0fiecho“Idontknowwhatisyourchoise”then当条件判断表达式为真时,执行的语句else当条件判断表达式不成立时,执行的语句格式3if条件判断表达式一;then当条件判断表达式一为真时,执行的语句elif条件判断表达式二;then当条件判断表达式二成真时,执行的语句,Bashshell编程,else当条件判断表达式一与二均不成立时,执行的语句fi范例1:#!/bin/bashreadp“Pleaseinput(Y/N):”ynif“$yn”=“Y”|“$yn”=“y”;thenecho“OK,continue”,Bashshell编程,elif“$yn”=“N”|“$yn”=“n”;thenecho“Oh,interrupt!”elseecho“whatsyourchoice?”范例2通过netstat检测主机是否打开以下网络端口www:80ssh:22ftp:2125:mail,Bashshell编程,#!/bin/bashecho“Now,theservicesofyourlinuxsystemwillbedetect!”echoe“Thewww,ftp,ssh,andmailwillbedetect!n”testing=netstattuln|grep“:80”if“$testing”!=“”;thenecho“WWWisrunninginyoursystem.”fiTesting=netstattuln|grep“:22”if“$testing”!=“”;then,Bashshell编程,echo“SSHisrunninginyoursystem.”fitesting=netstattuln|grep“:21”if“$testing”!=“”;thenecho“FTPisrunninginyoursystem.”fitesting=netstattuln|grep“:25”if“$testing”!=“”;thenecho“Mailisrunninginyoursystem.”fi,Bashshell编程,使用caseesac判断格式:case$变量名称in“第一个变量内容”)程序段;“第二个变量内容”)程序段;*)默认程序执行段,Bashshell编程,范例:让用户输入one,two,three,并将用户的变量显示到屏幕上,如果不是one,two,three时,就告诉用户仅有这三种选择#!/bin/bashecho“Theprogramwillprintyourselection”case$1in“one”)echo“YourchoiceisONE”;,Bashshell编程,“two”)echo“YourchoiceisTWO”;“three”)echo“YourchoiceisTHREE”;*)echo“Usage(one|two|three)”;esac,Bashshell编程,使用函数功能格式:functionfname()程序段范例:#!/bin/bashfunctionprintit()echo“Yourchoiceis$1”echo“Thisprogramwillprintyourselection”,Bashshell编程,case$1in“one”)printit1;“two”)printit2;“three”)printit3;,Bashshell编程,*)echo“Usage(one|two|three)”;Esac循环whiledodone,untildodone循环格式:whileconditiondo语句done,Bashshell编程,untilconditiondo语句done范例:执行脚本后提示用户输入字符串,当用户输入yes或者YES时结束输入,否则一直告诉用户输入字符串,Bashshell编程,#!/bin/bashwhile“$yn”!=“yes”限制值;执行步长)do程序段done,Bashshell编程,范例:实现1到100的累加。#/bin/bashs=0for(i=1;i=100;i=i+1)dos=$($s+$i)doneecho“Theresultof1+2+3+100is$s”,Bashshell编程,格式二:forvarincon1con2con3do程序done范例:提示用户输入某个目录,然后列出该目录下的所有文件的权限#!/bin/bashreadp“pleaseinputadirectory:”dirif“$dir”=“”|!d“$dir”;then,Bashshell编程,echo“The$dirisnotexistinyoursystem.”exit1fifilelist=ls$dirforfilenamein$filelistdoperm=“”testr“$dir/$filename”&perm=“$permreadable”testw“$dir/$filename”&perm=“$
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服务考试题及答案
- 统计学考试模拟题与答案
- 七步洗手法培训试题及答案
- 2025东莞“三旧”改造项目垃圾处理合同
- 2025年度个人信用消费借款合同
- 2025年度电商直播平台主播形象代言人代理协议
- 2025年度企业团队建设拓展培训综合服务合同
- 2025版外贸实习生实习成果鉴定合同
- 2025版棚改工程房屋买卖及配套设施建设合同
- 2025版内蒙古自治区房屋建筑工程合同范本
- 2024年秋季云南高中学业水平合格考历史试卷真题(含答案详解)
- 中国抗癌协会神经内分泌肿瘤诊治指南(2025年版)解读
- T/CSMT-YB 006-2023精密数字温度计性能测试与评价方法
- 组建乐团协议书
- 兼职人员聘用协议书
- GB/T 45595-2025离心式制冷剂压缩机
- 2020公路工程质量检验评定标准第二册机电工程
- 酒店安全考试试题及答案
- 人教版小学四年级上册数学 第7单元 条形统计图 教案
- 中医适宜技术在妇科的应用
- 乡土中国考试题及答案
评论
0/150
提交评论