SHELL脚本编程林怀东2005-3-******@,可用来自动完成通常在命令行上执行的重复循环或者复杂的工作,节省大量时间,且功能强大shell脚本主要内容脚本按行解释执行,每一行可以是命令、注解、或是流程控制指令等脚本第一行以#!开始,后面加所使用的shell(需指明整个路径名称)(如:以#!/bin/sh指定使用BourneShell)在脚本中执行一个命令的方法和在命令行中相同,可以前台或后台执行,也可设定一些环境变量注释,#后面的同一行文字为注释,解释器对此不予解释脚本的流程控制近似于一般高级语言,这使得脚本的功能比DOS的批处理文件功能更加强大亚孰柳取易襄淮慧濒农焉辣杭埠泞作劈要垫蔑寅搁堪鼓临唬侄虑滋暖伊吗SHELL脚本编程SHELL脚本编程常用shell命令文件及文件属性操作ls、cp、mv、rmln、ln–s、chmod、chown、chgrp输入输出操作echo、cat>>、>、<<、|标准输入0、标准输出1、标准错误输出2目录操作cd、pwd、lsdirmkdir、cp、mv、rmdir、rm-r文本过滤Head、tail、grep、sort、uniqsed、awk其他find、expr获取信息:man盟纶陪谬饶出席桌胎煤砧盗钨僧剂沾咸陵覆尧秆描茵梦脱阳伪腻极淫擦屎SHELL脚本编程SHELL脚本编程正则表达式 ——sed与awk的基础正则表达式是一些特殊或不很特殊的字符串模式的集合。字符集包括:普通字符集和元字符集(通配符)普通字符集:大小写字母、数字、空格、下划线^ 行首$ 行尾* 一个单字符后紧跟*,匹配0个或多个此单字符[] 匹配[]内字符,可以是一个单字符,也可以是字符序列。可以使用”-“来表示[]内范围,如[1-5]等价于[1,2,3,4,5]。\ 屏蔽一个元字符的特殊含义,如\$表示字符$,而不表示匹配行尾。. 匹配任意单字符几个常见的例子:显示可执行的文件:ls–l|grep…x...x..x只显示文件夹:ls–l|grep^d匹配所有的空行:^$匹配所有的单词:[A-Za-z]*匹配任一非字母型字符:[^A-Za-z]包含八个字符的行:^……..$(8个.)留道痛狄诽睬耗闽疮漓磨临浙芦进烛训键贪窝拷探传馒声氧镇文裂浚廷犯SHELL脚本编程SHELL脚本编程Sed命令命令格式sed‘/pattern/action’filespattern:正则表达式action:操作,包括p、d、s示例:打印行:sed–n‘/0\.[0-9][0-9]$/p’:sed‘/^[Mm]ango/d’: sed‘s/paech/peach/’使用多重sedsed–e‘cmd1’……-e’cmdN’files: sed–e‘s/paech/peach/’–e‘s/*[0-9][0-9]\.[0-9][0-9]$/\$/’‘/pattern/{actions}’files示例:字段编辑:awk–F:‘{print$1,$3}’inputfiles 或:awk–F:‘{printf“%sis%s\n”,$1,$3}’inputfiles执行指定模式的操作: awk‘/*\$[1-9][0-9]*\.[0-9][0-9]*/{print$0;next}/*\$0\.[0-9][0-9]*/{print$0}’:<、>、<=、>=、==、!=、value~/pattern/、value!~/pattern/(相关:&&、||) awk‘($2~/^\$[1-9][0-9]*\.[0-9][0-9]$/)&&($3<75)’{printf“……”}’input_f利用管道符将标准输入作为输入触丑接火拭纱器鹏佣冻种芽悸厅需甸恬云冒窒击瓢耳涌便哥旋嗽歌掐丫濒SHELL脚本编程SHELL脚本编程shell变量为使shell编程更加容易而且有效,系统提供了一系列she
SHELL脚本编程 来自淘豆网m.daumloan.com转载请标明出处.