我的编程空间,编程开发者的网络收藏夹
学习永远不晚

总结的7个shell字符串操作方法和实例分享

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

总结的7个shell字符串操作方法和实例分享

每一种语言都有他独自的字符串操作方法,shell也一样,下面以以例子的方式,简单介绍常用方法。

1,取得字符串长度

string=abc12342341          //等号二边不要有空格

echo ${#string}             //结果11

expr length $string         //结果11

expr "$string" : ".*"       //结果11 分号二边要有空格,这里的:根match的用法差不多

2,字符串所在位置

expr index $string '123'    //结果4 字符串对应的下标是从0开始的

这个方法让我想起来了js的indexOf,各种语言对字符串的操作方法大方向都差不多,如果有语言基础的话,学习shell会很快的。

3,从字符串开头到子串的最大长度

expr match $string 'abc.*3' //结果9

个人觉得这个函数的用处不大,为什么要从开头开始呢。

4,字符串截取

echo ${string:4}      //2342341  从第4位开始截取后面所有字符串

echo ${string:3:3}    //123      从第3位开始截取后面3位

echo ${string:3:6}    //123423   从第3位开始截取后面6位

echo ${string: -4}    //2341  :右边有空格   截取后4位

echo ${string:(-4)}   //2341  同上

expr substr $string 3 3   //123  从第3位开始截取后面3位

上面的方法让我想起了,php的substr函数,后面截取的规则是一样的。

5,匹配显示内容

//例3中也有match和这里的match不同,上面显示的是匹配字符的长度,而下面的是匹配的内容

expr match $string '([a-c]*[0-9]*)'  //abc12342341

expr $string : '([a-c]*[0-9])'       //abc1

expr $string : '.*([0-9][0-9][0-9])' //341 显示括号中匹配的内容

这里括号的用法,是不是根其他的括号用法有相似之处呢,

6,截取不匹配的内容

echo ${string#a*3}     //42341  从$string左边开始,去掉最短匹配子串

echo ${string#c*3}     //abc12342341  这样什么也没有匹配到

echo ${string#*c1*3}   //42341  从$string左边开始,去掉最短匹配子串

echo ${string##a*3}    //41     从$string左边开始,去掉最长匹配子串

echo ${string%3*1}     //abc12342  从$string右边开始,去掉最短匹配子串

echo ${string%%3*1}    //abc12     从$string右边开始,去掉最长匹配子串

这里要注意,必须从字符串的第一个字符开始,或者从最后一个开始,

7,匹配并且替换

echo ${string/23/bb}   //abc1bb42341  替换一次

echo ${string//23/bb}  //abc1bb4bb41  双斜杠替换所有匹配

echo ${string/#abc/bb} //bb12342341   #以什么开头来匹配,根php中的^有点像

echo ${string/%41/bb}  //abc123423bb  %以什么结尾来匹配,根php中的$有点像

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

总结的7个shell字符串操作方法和实例分享

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

总结的7个shell字符串操作方法和实例分享

每一种语言都有他独自的字符串操作方法,shell也一样,下面以以例子的方式,简单介绍常用方法。 1,取得字符串长度string=abc12342341 //等号二边不要有空格echo ${#string}
2022-06-04

Python中的字符串查找操作方法总结

基本的字符串位置查找方法 Python 查找字符串使用 变量.find("要查找的内容"[,开始位置,结束位置]),开始位置和结束位置,表示要查找的范围,为空则表示查找所有。查找到后会返回位置,位置从0开始算,如果每找到则返回-1。str
2022-06-04

JavaScript实现字符串截取的三个方法总结

在 JavaScript 中,可以使用 substr()、slice() 和 substring() 方法截取字符串。这篇文章就来通过一些示例和大家聊聊这些方法的具体操作,需要的可以参考一下
2023-02-27

Python Hello World和字符串操作的实例分析

Python Hello World和字符串操作的实例分析,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。开那么,让我们开始吧!如果你糊涂了,我建议你在单独的选项卡中打开下面
2023-06-17

Python中常用操作字符串的函数与方法总结

例如这样一个字符串 Python,它就是几个字符:P,y,t,h,o,n,排列起来。这种排列是非常严格的,不仅仅是字符本身,而且还有顺序,换言之,如果某个字符换了,就编程一个新字符串了;如果这些字符顺序发生变化了,也成为了一个新字符串。 在
2022-06-04

shell脚本字符串和数组的使用操作方法

字符串 可以使用单引号和双引号定义字符串变量但是单引号中不支持变量解析#! /bin/bash username="mayuan" str_1="hello ${username}" str_2='hello ${username}' e
2022-06-04

python常用操作之使用多个界定符(分隔符)分割字符串的方法实例

在使用Python处理字符串的时候,有时候会需要分割字符,下面这篇文章主要给大家介绍了关于python常用操作之使用多个界定符(分隔符)分割字符串的相关资料,文中通过图文以及实例代码介绍的非常详细,需要的朋友可以参考下
2023-01-09

Python实现判断一个字符串是否包含子串的方法总结

本文实例总结了Python实现判断一个字符串是否包含子串的方法。分享给大家供大家参考,具体如下: 1.使用成员操作符 in>>> s='nihao,shijie' >>> t='nihao' >>> result = t in s >>>
2022-06-04

Python中拆分具有多个分隔符的字符串方法实例

str.split()是Python中字符串类型的一个方法,可以用来将字符串按照指定的分隔符分割成多个子字符串,这篇文章主要给大家介绍了关于Python中拆分具有多个分隔符的字符串的相关资料,需要的朋友可以参考下
2023-05-18

JS字符串分割方法整理汇总示例讲解(3种截取方法和6个辅助方法)

JavaScript在开发中常常会需要截取字符串,而JS提供了slice()、substring()、substr()3种方法实现截取操作。另外还有字符串相关的6种辅助方法:indexOf()、lastIndexOf()、split()、join()、concat()、charAt()。
2023-02-11

编程热搜

目录