广告
返回顶部
首页 > 资讯 > 服务器 >Shell实现字符串处理的方法详解
  • 745
分享到

Shell实现字符串处理的方法详解

2024-04-02 19:04:59 745人浏览 独家记忆
摘要

目录大小写转化获取字符串长度替换整体替换部分替换截取补充大小写转化 # 把变量中的第一个字符换成大写 ${test^} # 把变量中的所有小写字母,全部替换为大写 ${test^^} # 把变量中的第一个字符换成小写

目录
  • 大小写转化
  • 获取字符串长度
  • 替换
    • 整体替换
    • 部分替换
  • 截取
    • 补充

      大小写转化

      # 把变量中的第一个字符换成大写
      ${test^}
      
      # 把变量中的所有小写字母,全部替换为大写
      ${test^^}
      
      # 把变量中的第一个字符换成小写
      ${test,}
      
      # 把变量中的所有大写字母,全部替换为小写
      ${test,,}
      

      示例

      #!/bin/bash
      # script file name is test.sh 
      test="abcDEF"
      echo "test^=${test^}"
      echo "test^^=${test^^}"
      echo "test,=${test,}"
      echo "test,,=${test,,}"
      

      Shell实现字符串处理的方法详解

      获取字符串长度

      ${#string}
      

      替换

      整体替换

      # 若变量var为空,则用string来替换此处的值,最常用。
      ${var:-string}
      
      # 若变量var为空,则用string来替换此处的值,把string赋给变量var。
      ${var:=string}
      
      # 若变量var不为空,则用string来替换此处的值。
      ${var:+string}
      
      # 若变量var不为空,则用string来替换此处的值;
      # 若变量var为空,则把string输出到标准错误中,并从脚本中退出。
      # 常用利用此特性来检查是否设置了变量的值。
      ${var:?string}
      

      部分替换

      # 只替换第1个子串
      ${var/old/new}
      
      # 替换全部子串
      ${var//old/new}
      

      截取

      # 从string字符串的左边第start个字符开始(不包含第start个字符),向右截取到最后,start从0开始;
      ${s
      

      示例

      #!/bin/bash
      # script file name is test.sh 
      url="https://blog.csdn.net/monarch91"
      echo "url=${url}"
      echo "url:8=${url:8}"
      echo "url:8:4=${url:8:4}"
      echo "url:0-8=${url:0-8}"
      echo "url:0-8:4=${url:0-8:4}"
      echo "url#*c=${url#*c}"
      echo "url##*c=${url##*c}"
      echo "url%c*=${url%c*}"
      echo "url%%c*=${url%%c*}"
      

      Shell实现字符串处理的方法详解

      补充

      当然,除了以上操作,shell还有许多字符串操作,下面小编为大家整理了一些,需要的可以参考一下

      字符串的拼接

      str1=www
      str2=bilibili
      
      string1=$str1$str2              #中间不加别的,直接放一起
      string2="$str1 $str2"           #双引号括住,中间可加任意字串
      string3=$str1"..."$str2         #整体不加引号,若中间要出现别的字串需前后紧挨,且字串双引号括住
      string4="${str1}.${str2}.com"   #也可以使用${}方式引用变量
      
      echo $string1
      echo $string2
      echo $string3
      echo $string4

      运行结果:

      wwwbilibili
      www bilibili
      www...bilibili
      www.bilibili.com

      读取字符串

      $ echo ${abc-'ok'}
      ok
      
      $ echo $abc
      $ echo ${abc='ok'}
      ok
      $ echo $abc
      ok
      
      $ var1=11;var2=12;var3=
      $ echo ${!v@}
      var1 var2 var
      
      $ echo ${!v*}
      var1 var2 var3
      

      #${!varprefix*}${!varprefix@}相似,可以通过变量名前缀字符,搜索已经定义的变量,无论是否为空值。

      字符串比较

      [[ "a.txt" == a* ]]        #逻辑真(pattern matching)
      [[ "a.txt" =~ .*\.txt ]]   #逻辑真(regex matching)
      [[ "abc" == "abc" ]]       #逻辑真(string comparision)
      [[ "11" < "2" ]]           #逻辑真(string comparision),按 ascii 值比较
      

      到此这篇关于Shell实现字符串处理的方法详解的文章就介绍到这了,更多相关Shell字符串处理内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

      --结束END--

      本文标题: Shell实现字符串处理的方法详解

      本文链接: https://www.lsjlt.com/news/34144.html(转载时请注明来源链接)

      有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

      本篇文章演示代码以及资料文档资料下载

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

      下载Word文档
      猜你喜欢
      • Shell实现字符串处理的方法详解
        目录大小写转化获取字符串长度替换整体替换部分替换截取补充大小写转化 # 把变量中的第一个字符换成大写 ${test^} # 把变量中的所有小写字母,全部替换为大写 ${test^^} # 把变量中的第一个字符换成小写...
        99+
        2022-09-22
      • Linux使用shell脚本处理字符串的实现方法
        这篇文章给大家分享的是有关Linux使用shell脚本处理字符串的实现方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1. 截取字符串的前8位expr substr "$strin...
        99+
        2023-06-09
      • shell字符串匹配的实现方法
        这篇文章主要介绍了shell字符串匹配的实现方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、简介      Bash ...
        99+
        2023-06-09
      • Shell字符串截取的实现方法(非常详细)
        Shell 截取字符串通常有两种方式:从指定位置开始截取和从指定字符(子字符串)开始截取。 从指定位置开始截取 这种方式需要两个参数:除了指定起始位置,还需要截取长度,才能最终确定要截取的字符串。 既然需要指定起始位...
        99+
        2022-06-04
        Shell 字符串截取
      • 详解C语言对字符串处理函数的实现方法
        目录strlen:1.计数器版本:2.递归的版本3.指针-指针版本strcat:strcmp:总结strlen: 1.计数器版本: #include<stdio.h>...
        99+
        2022-11-12
      • Shell字符串截取的详细方法
        一、Linux shell 截取字符变量的前8位,有方法如下: 1.expr substr “$a” 1 82.echo $a|awk ‘{print substr(,1,8)}'3.echo $...
        99+
        2022-06-04
        字符串 方法 详细
      • Java实现字符串切割的方法详解
        今天给大家介绍一个小知识点,但是会非常的实用,就是平时我们写Java代码的时候,如果要对字符串进行切割,我们巧妙的运用一些技巧,可以把性能提升5~10倍。下面不说废话,直接来给大家上...
        99+
        2022-11-13
      • Python字符串处理实例详解
        Python字符串处理实例详解 一、拆分含有多种分隔符的字符串 1.如何拆分含有多种分隔符的字符串 问题: 我们要把某个字符串依据分隔符号拆分不同的字段,该字符串包含多种不同的分隔符,例如: s = "...
        99+
        2022-06-04
        字符串 详解 实例
      • C++字符串的处理详解
        目录字符数组总结字符数组 双引号引起的a占两个字符,包含“\0”。 字符串处理函数 连接的时候,str2中的1替换str1中的‘\0'; 比较函数按照str...
        99+
        2022-11-12
      • Javascript的字符串方法详解
        目录字符串长度:lengthcharAt()charCodeAt()字符串检查是否包含某个值indexOf()lastIndexOf()includes()startsWith()e...
        99+
        2022-11-12
      • Python字符串处理的方法
        本文小编为大家详细介绍“Python字符串处理的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python字符串处理的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 ...
        99+
        2022-10-19
      • python字符串处理方法
        字符和字符串可以用来相加来组合成一个字符串输出;   字符或字符串复制输出。   You can extract a substring from a string by using slice. Format: [start:e...
        99+
        2023-01-31
        字符串 方法 python
      • Linux 使用shell脚本处理字符串的实现
        1. 截取字符串的前8位 expr substr "$string" 1 8 echo $string | awk '{print substr(,1,8)}' echo $string | cut -c...
        99+
        2022-06-04
        shell处理字符串 shell字符串处理
      • C语言实现字符串字符反向排列的方法详解
        目录前言非递归方法1.循环实现2.函数实现递归方法1.递归方法2.递归方法小结前言 重点的话说在前头,注意不是逆序打印 今天写题,碰到一个很好的题,在这里来个大家做个分享,我会用多种...
        99+
        2022-11-13
      • Shell中实现字符串反转方法分享
        在做关键词清洗过程中,需要将一类不符合某个字结尾的词过滤出来,思路是把这一批词按最后一个字排序,于是想到了先把这些词反转一下,如把12345转为54321,好像以前在夜息的文章里看过用shell可以实现,就...
        99+
        2022-06-04
        字符串 方法 Shell
      • python字符串str.format()方法详解
        一、str.format()方法详解 1.定义和用法 format() 方法格式化指定的值,并将其插入字符串的占位符内。占位符使用大括号 {} 定义,可以使用命名索引 {price}、编号索引{0}、...
        99+
        2023-09-05
        python 开发语言
      • Python实现打印彩色字符串的方法详解
        目录一行代码突出重点内容彩色打印的公式彩色效果汇总封装,让彩色打印更好用函数封装logging 中的使用第三方库print 也许是我们在使用 Python 的时候用的最多的一种操作,...
        99+
        2022-11-11
      • TypeScript实现字符串转树结构的方法详解
        目录前言思路分析实现代码示例代码前言 有一个多行字符串,每行开头会用空格来表示它的层级关系,每间隔一层它的空格总数为2,如何将它转为json格式的树型数据?本文就跟大家分享下这个算法...
        99+
        2022-11-13
      • shell脚本实现字符串的动态替换方法
        目录背景代码使用示例用shell实现某行字符串的替换背景 我们有时候需要完成字符串的多组替换,比如需要完成以下替换 将“小草”替换为“真是让人印象深刻”将“小狗...
        99+
        2022-10-24
      • JS截取字符串的方法详解
        substr() 方法 substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。 stringObject.subst...
        99+
        2022-11-13
      软考高级职称资格查询
      编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
      • 官方手机版

      • 微信公众号

      • 商务合作