电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOCX文档下载
分享到微信 分享到微博 分享到QQ空间

shell操作字符串

  • 资源ID:480657927       资源大小:21.20KB        全文页数:13页
  • 资源格式: DOCX        下载积分:15金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要15金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

shell操作字符串

v1.0可编辑可修改SHELLI勺字符替换SHELLI勺字符替换shell的字符替换变量替换:一:简单赋值和替换a=bcd$ echo $abcd$ echo $a?bcd二:变量扩充除了 shell中的meta,其它的Aa-zA-Z0-9_ 几乎都可以作单词边界。同sed中关于单词边界Aa-zA-Z0-9 的描述。这些功能有时候会在程序中有意想不到的作用!例如:$ a=bcd$ echo $a.b$ echo $ echo $a%bbcd%b$ echo /$a/bc/bcd/bc对于shell中的meta字符,则backslash 。$ echo $a*bbcd*b三:变量中的变量$ a=bcd$ b=efg$ c=$a$b$ echo $cbcdefg$ d=$ echo $d思考:若变量互相嵌套,会怎样呢?四:变量的特异功能到网中人的啦!(ps:重写真是没激情啊)file=/diU/dir2/dir3/我们可以用$ 分别替换获得不同的值:$file#*/:从变量file 的字符串左边开始,删除字符直到第一个“ /”dir1/dir2/dir3/$file#*/:从变量file的字符串左边开始,删除字符直到最后一个“ / $file#*.:从变量file的字符串左边开始,删除字符直到第一个.”:$file#*.:从变量file的字符串左边开始,删除字符直到最后一个“txt其实,在“#”后面,无非就是一个匹配问题,不限于两个,你可以放任意个字符,还可以用shell中另外的通配符” ” ”!”,例如:$ echo $file#1/dir2/dir3/$ echo $file#*0-9/dir2/dir3/$ echo $file#/dir1/dir0-9/dir3/“#" :相当于最小匹配,遇到一个最小的符合其后表达式的字符串(单个或多个)即中止匹配动作;“#":相当于最大匹配,它尽可能的匹配更多的字符。我们可以拿“ *”来说明:* 在shell中表示匹配任何符号包括空。当它在只有一个#的变量替换中,受最小匹配的影响,它不会匹配任何可打印字符,只匹配一个空,也就是什么也不匹配,你完全可以忽略它的存在;当在有两个#的变量替换中,受最大匹配的影响,一个 *表示匹配整个字符串。如果想匹配字符“ *”时,要在“ *”前加一个“”,其后的“ *”失去通配符的功能。但是还有一种例外情况(请接着看)例:$ file2=$ echo $file2#*.*.*.*$ echo $file2#*.*.*.*想想上面两个的输出是什么?$ echo $file2#*.*.*.*oopp$ echo $file2#*.*.*.*空知道为什么吗因为:“ *”匹配任何符号包括空。遇到一个“ #”时,最后一个“ *”就匹配“空”去了。看下面的:$ echo $file2#*.*.*.OPP$ echo $file2#*.*.*.*OPP$ echo $file2#*.*.*.opp$ echo $file2#*.*.*.*空do you know ?$ echo $file3*ab*de*cd看看下面将输出什么?$ echo $file3#*ab*de*cd$ echo $file3#*ab*de*cd$ echo $file3#*空$ echo $file3#*ab*de*cd$ echo $file3#*ab*de*cd$ echo $file3#*空$ echo $file3#*ab*de*cd$ echo $file3#*ab*de*cd不知各位有没有发现,“ *”在一个“#”中时,并不一定代表“空”,它可能代表一个字符“*”也可能代表其他的什么字符,如上例的:“$ echo $file3#*a”输出为“ b*de*cd ",其实这还是符合最小匹配理论的。这个表达式的意思是:从变量file3的字符串左边开始删除字符,直到遇到第一个字符“a”。所以不要和“$ echo $file3# *a "混淆,虽然两个结果是一样,但意思是不一样的。再举几个例子,相信大家更容易理解这段话:$ echo $file3*ab*de*cd*ab*de:从右部开始拿掉字符,直到遇到(从右部数起的)第一个 “.” :/dir1/dir2/dir3/$file%.*:从右部开始拿掉字符,直到遇到(从右部数起的)最后一个:"/dir1/dir2/dir3/my单匹配格式$var/被替换字符/替换字符全匹配格式$vartest# echo $ip/./,324,test# echo $ip/./ 324test# echo $ip,324,2354,329,5324test# echo $ip中:/代表字符串的替换.:代表字符串的提取.#和公别代表左截和右截.shell编程范例之字符串操作字符串:简称“申”。有限字符的序列。数据元素为字符的线性表,是一种数据的逻辑结构。在计算机中可有不同的存储结构。在用上可进行求子用、插入字符、删除字符、置换字符等运算。字符:计算机程序设计及操作时使用的符号。包括字母、数字、空格符、提示符及各种 专用字符等。照这样说,之前介绍的数值操作中的数字,逻辑运算中的真假值,都是以字符的形式呈现出来的,是一种特别的字符,对它们的运算只不过是字符操作的特例罢了。 而这里将研究一般字符的运算,它 具有非常重要的意义,因为对我们来说,一般的工作都是处理字符而已。这些运算实际上将围绕上述两个定义来做。第一、找出字符或者字符串的类型,是数字、字母还是其他特定字符,是可打印字符,还是不可打印字符(一些控制字符)。第二、找出组成字符串的字符个数和字符串的存储结构(比如数组)。第三、对用的常规操作:求子用、插入字符、删除字符、置换字符、字符串的比较等。第四、对用的一些比较复杂而有趣的操作,这里将在最后介绍一些有趣的范例。1 .字符串的属性字符串的类型字符有可能是数字、字母、空格、其他特殊字符,而字符串有可能是它们任何一种或者多种的组合,在组合之后还可能形成一个具有特定意义的字符串,诸如邮件地址,URLM址等。概要示例:下面我们来看看如何判断字符的类型。*0-9a-zA-Z.r概要示例:判断字符是否可打印如何控制字符在终端的显示。bash提供的数组数据结构,它是以数字为下标的,和 C语言从0开始的下标一 样$ var="get the length of me”$ var_arr=($var) # 这里把字符用var存放到字符串数组var_arr中了,默 认以空格作为分割符$ echo $var_arr0$var_arr1$var_arr2$var_arr3$var_arr4get the length of me$ echo $var_arr #这个就是整个字符串所有部分啦,这里可以用 *代替下同get the length of me$ echo $#var_arr #记得上面求某个字符串的长度么,#操作符,如果想求某个数组元素的字符串长度,那么就把磔成下标吧5awk里头的数组,注意比较它和 bash提供的数组的异同来获取,$0表小整行 字符串常规操作字符串操作包括取子用、查询子用、插入子用、删除子用、子用替换、子用比较、子用排序、子用进制转换、子用编码转换等。取子用概要示例:取子用的方法主要有:直接到指定位置求子用,字符匹配求子用。查询子用概要示例:子审查询包括:返回符合某个模式的子用本身和返回子用在目标用中的位置。准备:在进行下面的操作之前,请把链接中的内容复制到一个文本text里头,用于下面的操作。子用替换子用替换就是把某个指定的子用替换成其他的字符串,实际上这里就蕴含了 “插入子用”和“删除子用”的操作。例如,你想插入某个字符串到某个子用之前,就可以把原来的子用替换成"子用 +新的字符串“,如果想删除某个子用,就把子用替换成空用。不过有些工具提供了一些专门的用法来做插入子用和删除子用的操作,所以呆伙还是会专门介绍的。另外,要想替换掉某个子用,一般都是先找到子用(查询子用),然后再把它替换掉的,实质上很多工具在使用和设计上都体现了这么一点。概要示例:下面我们把变量var中的空格替换成下划线看看。插入子用插入子用:就是在指定的位置插入子用,这个位置可能是某个子用的位置, 也可 能是从某个文件开头算起的某个长度。通过上面的练习,我们发现这两者之间实际上是类似的。公式:插入子用二把"old子用"替换成"old子用+new子用"或者"new子用+old子用"概要示例:下面在var字符串的空格之前或之后插入一个下划线.get_ the length of me$ echo $var | sed -e 's八()/_1/g'get_ the_ length_ of_ me$ echo $var | sed -e 's/( )/1_/'get _the length of me$ echo $var | sed -e 's/( )/1_/g'get _the _length _of _me.,看到没2和1掉换位置后,the和get的位置掉换了$ echo $var | sed -e 's八(a-z*) (a-z*) /2 1 /g'the get of length me删除子用删除子用:应该很简单了吧,把子用替换成“空”(什么都没有)不就变成了删除么。还是来简单复习一下替换吧。概要示例:把var字符串中所有的空格给删除掉。鼓励:这样一替换不知道变成什么单词啦,谁认得呢但是中文却是连在一起的,所以中文有多难,你想到了么原来你也是个语言天才,而英语并不可怕,你有学会它的天赋,只要你有这个打算c 子用比较这个很简单:还记得test命令的用法么mantest。它可以用来判断两个字符串是否相等的。另外,你发现了 “字符串是否相等”和“字符串能否跟另外一个字符串匹配"两个问题之间的关系吗如果两个字符串完全匹配,那么这两个字符串就相等了。所以呢,上面用到的字符串匹配方法,也同样可以用到这里。.子用排序差点忘记这个重要的内容了,子用排序可是经常用到的,常见的有按字母序、数字序等正序或反序排列。sort命令可以用来做这个工作,它和其他行处理命令一样,是按行操作的,另外,它类似 cut和awk,可以指定分割符,并指定需要排序的列。$ var="get the length of me”$ echo $var | tr ' ' 'n' | sort #正序排get length me of the

注意事项

本文(shell操作字符串)为本站会员(s9****2)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.