- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux3命令中的特殊字符和正则表达式
由于这里是在bash下做的实验,有些地方与csh略有不同,详情:/itech/archive/2012/02/21/2361184.html一、linux命令中的特殊字符1. 双引号(1)打印输出时将系统保留符号屏蔽、以保证正常输入,如:echo Alix; Maryecho Alix; Mary*分号;表示一个命令结束、另一个 命令开始执行,如果不加的话,则只输出Alix,执行到Mary时会报错(2)在双引号中引用其他命令输出符,如引用变量:name=maryecho Alix;$nameecho $name*当然,在第三行命令中不加”也能执行出正确的结果,但是为了在编写大型脚本时降低错误率,建议养成把特殊引用符都放到“内的良好习惯此外,还可以直接引用命令输出,这时要用反引号`把命令字括起来(下面会详细讲道):echo Now time: `date -u` (3)在命令中使用双引号避免shell误解,如:name=jhon alix jack;mary romanecho $name | grep jhon alixecho $name | grep jhon alix第二行由于使用了,能够正确执行、找到包含jhon alix的变量,但如果不加、第三行命令会报错。2. 单引号‘单引号的用途和双引号一致,此外还表示引用中的引用,因为shell中不允许一条命令中的两个引号都使用双引号或单引号;如:awk BEGIN{system(date)}3. 反引号`:命令引用符,如:ls -l `cat /etc/shells`echo Now time: `date +%T`echo Are using this system users: `who | awk {ARR [FNR]=$1;}END {printf %s %s\n ,ARR[1],Arr[2];}`4. 变量引用和命令转换符$,如:#将命令date的执行结果赋给变量aa=`date`echo The time is: $a#如果是csh,需要在变量名前面加set#下面的格式,只能在bash里用,csh里会只能用ls -l `cat /etc/shells`实现该功能ls -l $(cat /etc/shells)5. 屏蔽特殊符号字符\,如:#bash格式echo Please pay \$15.echo Tom:\What is your name?\/*下面6、7两条讲的是文件名通配符,要和文件内容的匹配符区分开*/6. 字符范围匹配符[]#查看当前目录中以kls中任意字幕开头的所有文件:ls -l [kls]*#查看文件名中包含0~9的文件:ls -l *[0-9]*#查看文件名中包含a~Z的文件:ls -l *[a-Z]*7. 范围排除[!]#查看文件名是三个字符且第一个在0~9范围、第二个不在0~9范围、第三个任意的文件:ls -l [0-9][!0-9]**此外还有单字通配符?,多字通配符*8. 逻辑或||command1?|| command2先执行command1,如果成功则直接显示结果、跳过command2;否则再执行command2例1:mail -f /root/mbox /dev/null || echo Permission denied9. 逻辑与command1??command2和逻辑或相反,先执行command1,如果成功,才执行command2;否则执行终止:wget /dev/null echo `date` Host baidu service is running.可以和下面的语句比较一下结果的不同:wget || echo `date` Host baidu service is running.10. 括号:如果将命令放到圆括号内,执行多命令时会优先执行括号内的命令;而花括号则在函数中被使用(见第17章)二、命令中的正则表达式:正则表达式不止在shell脚本中使用,平时在grep、vi、awk、sed等命令工具中也可以使用。1. 与文件名匹配同理,使用反斜杠\屏蔽特殊字符,如:# ; $ ` . ^ ? [ ] \ || (1)比如做乘法运算时:expr 25 \* 25625(2)在命令中输出特殊符号:echo \#notes\\#notes\(3)表示文件名^^.txt/\^\^\.txt/2. 单字符匹配符.*使用查找模式时,通常要将表达式放入两个斜杠 //中,然后再放入命令中。后面不在赘述。/.i../,有可能匹配到xian,就这个意思。3. *单/多字符匹配符4. 行首匹配符^用来匹配每一行第一列中符合有哪些信誉好的足球投注网站条件的字符串:/^eth0/5. 行尾匹配符$与上面类似,用来匹配行尾符合有哪些信誉好的足球投注网站条件的字符串:/lov
文档评论(0)