电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

shell操作字符串

13页
  • 卖家[上传人]:s9****2
  • 文档编号:480657927
  • 上传时间:2024-01-11
  • 文档格式:DOCX
  • 文档大小:21.20KB
  • / 13 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、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的

      2、字符串左边开始,删除字符直到最后一个“ / $file#*.:从变量file的字符串左边开始,删除字符直到第一个.”:$file#*.:从变量file的字符串左边开始,删除字符直到最后一个“txt其实,在“#”后面,无非就是一个匹配问题,不限于两个,你可以放任意个字符,还可以用shell中另外的通配符” ” ”!”,例如:$ echo $file#1/dir2/dir3/$ echo $file#*0-9/dir2/dir3/$ echo $file#/dir1/dir0-9/dir3/“# :相当于最小匹配,遇到一个最小的符合其后表达式的字符串(单个或多个)即中止匹配动作;“#:相当于最大匹配,它尽可能的匹配更多的字符。我们可以拿“ *”来说明:* 在shell中表示匹配任何符号包括空。当它在只有一个#的变量替换中,受最小匹配的影响,它不会匹配任何可打印字符,只匹配一个空,也就是什么也不匹配,你完全可以忽略它的存在;当在有两个#的变量替换中,受最大匹配的影响,一个 *表示匹配整个字符串。如果想匹配字符“ *”时,要在“ *”前加一个“”,其后的“ *”失去通配符的功能。但是还有一种例

      3、外情况(请接着看)例:$ 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不知各位有没有发现,“ *”在一个

      4、“#”中时,并不一定代表“空”,它可能代表一个字符“*”也可能代表其他的什么字符,如上例的:“$ 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编程范例之字符串操作

      5、字符串:简称“申”。有限字符的序列。数据元素为字符的线性表,是一种数据的逻辑结构。在计算机中可有不同的存储结构。在用上可进行求子用、插入字符、删除字符、置换字符等运算。字符:计算机程序设计及操作时使用的符号。包括字母、数字、空格符、提示符及各种 专用字符等。照这样说,之前介绍的数值操作中的数字,逻辑运算中的真假值,都是以字符的形式呈现出来的,是一种特别的字符,对它们的运算只不过是字符操作的特例罢了。 而这里将研究一般字符的运算,它 具有非常重要的意义,因为对我们来说,一般的工作都是处理字符而已。这些运算实际上将围绕上述两个定义来做。第一、找出字符或者字符串的类型,是数字、字母还是其他特定字符,是可打印字符,还是不可打印字符(一些控制字符)。第二、找出组成字符串的字符个数和字符串的存储结构(比如数组)。第三、对用的常规操作:求子用、插入字符、删除字符、置换字符、字符串的比较等。第四、对用的一些比较复杂而有趣的操作,这里将在最后介绍一些有趣的范例。1 .字符串的属性字符串的类型字符有可能是数字、字母、空格、其他特殊字符,而字符串有可能是它们任何一种或者多种的组合,在组合之后还可能形成一个具

      6、有特定意义的字符串,诸如邮件地址,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表小整行 字符串常规操作字符串操作包括取子用、查询子用、插入子用、删除子用、子用替换、子用比较、子用排序、子用进制转

      7、换、子用编码转换等。取子用概要示例:取子用的方法主要有:直接到指定位置求子用,字符匹配求子用。查询子用概要示例:子审查询包括:返回符合某个模式的子用本身和返回子用在目标用中的位置。准备:在进行下面的操作之前,请把链接中的内容复制到一个文本text里头,用于下面的操作。子用替换子用替换就是把某个指定的子用替换成其他的字符串,实际上这里就蕴含了 “插入子用”和“删除子用”的操作。例如,你想插入某个字符串到某个子用之前,就可以把原来的子用替换成子用 +新的字符串“,如果想删除某个子用,就把子用替换成空用。不过有些工具提供了一些专门的用法来做插入子用和删除子用的操作,所以呆伙还是会专门介绍的。另外,要想替换掉某个子用,一般都是先找到子用(查询子用),然后再把它替换掉的,实质上很多工具在使用和设计上都体现了这么一点。概要示例:下面我们把变量var中的空格替换成下划线看看。插入子用插入子用:就是在指定的位置插入子用,这个位置可能是某个子用的位置, 也可 能是从某个文件开头算起的某个长度。通过上面的练习,我们发现这两者之间实际上是类似的。公式:插入子用二把old子用替换成old子用+new子用或者n

      8、ew子用+old子用概要示例:下面在var字符串的空格之前或之后插入一个下划线.get_ the length of me$ echo $var | sed -e s八()/_1/gget_ the_ length_ of_ me$ echo $var | sed -e s/( )/1_/get _the length of me$ echo $var | sed -e s/( )/1_/gget _the _length _of _me.,看到没2和1掉换位置后,the和get的位置掉换了$ echo $var | sed -e s八(a-z*) (a-z*) /2 1 /gthe 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分享,可在线阅读,更多相关《shell操作字符串》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.