首先先声明一个变量str,下面演示以该变量为例:

str='https://www.baidu.com/about.html'

1.#号截取,删除左边字符,保留右边字符

echo ${str#*//}

说明:

  • str为变量
  • #号是运算符
  • *//表示从左边开始删除第一个//号及左边的所有字符

结果:www.baidu.com/about.html

2.## 号截取,删除左边字符,保留右边字符

echo ${str##*/}

说明:

  • ##*/表示从左边开始删除最后(最右边)一个/号以及左边所有的字符

结果:about.html

3.%号截取,删除右边字符,保留左边字符

echo ${str%/*}

说明:

  • %/*表示从右边开始,删除第一个/以及右边所有字符

结果:https://www.baidu.com

4.%% 号截取,删除右边字符,保留左边字符

echo ${str%%/*}

说明:

  • %%/*表示从右边开始,删除最后(最左边)一个/号以及右边的所有字符

结果:https:

5.截取从左边指定位置开始,以及指定截取的字符个数

echo ${str:0:5}

说明:

  • 0表示从第一个字符开始截取,5表示截取5个字符

结果:https

6.截取从左边指定位置开始,直到结束

echo ${str:8}

说明:

  • 表示从左边第9个字符开始(由于下标是从0开始),一直到结束。

结果:www.baidu.com/about.html

7.截取从右边指定位置开始,以及指定截取的字符个数

echo ${str:0-10:10}

说明:

  • 0-10表示从右边第10个字符开始,截取右边10个字符的长度。

结果:about.html

说明,如果截取的右边字符超过右边的总长度,那么也是返回右边的所有字符,如:

echo ${str:0-10:100}

结果:about.html

8.截取从右边指定位置开始,直到结束

echo ${str:0-10}

说明:

  • 表示从右边第10个字符位置开始,直到结束

结果:about.html

shell脚本字符串截取方法整理的更多相关文章

  1. Shell脚本字符串截取方法总结

    Shell脚本8种字符串截取方法总结转自:https://www.cnblogs.com/ralphdc/p/8032335.html Linux 的字符串截取很有用.有八种方法.假设有变量 var= ...

  2. shell脚本字符串截取的8种方法

    假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符. echo ${var#*//} 其中 var 是变量名,# 号是运算符,*/ ...

  3. shell脚本字符串截取

    假设有变量 var=http://www.google.com/test.htm 一 # 号截取,删除左边字符,保留右边字符.echo ${var#*//}其中 var 是变量名,# 号是运算符,*/ ...

  4. 【iOS】Swift字符串截取方法的改进

    字符串截取方法是字符串处理中经常使用的基本方法.熟悉iOS的朋友都知道在基础类的NSString中有substringToIndex:,substringFromIndex:以及substringWi ...

  5. Shell脚本的调试方法

    Shell脚本的调试方法 Shell提供了一些用于调试脚本的选项,如下所示: -n    读一遍脚本中的命令但不执行,用于检查脚本中的语法错误 -v    一边执行脚本,一边将执行过的脚本命令打印到标 ...

  6. Shell脚本8种字符串截取方法总结

    Linux 的字符串截取很有用.有八种方法. 假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符. 代码如下: echo ${va ...

  7. shell脚本中8种字符串截取方法_转自脚本之家

    转自:http://www.jb51.net/article/56563.htm 参考:http://blog.csdn.net/taiyang1987912/article/details/3955 ...

  8. shell 脚本常用调试方法

    曾经我刚开始学习 shell 脚本时,除了知道用 echo 输出一些信息外,并不知道其他方法,仅仅依赖 echo 来查找错误,比较难调试且过程繁琐.效率低下.本文介绍下我常用的一些 shell 脚本调 ...

  9. Linux 的字符串截取方法(转)

    Linux 的字符串截取很有用.有八种方法. 假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符. echo ${var#*//} ...

  10. [转]shell脚本打印日志方法

    该文章转自:http://blog.csdn.net/wylfengyujiancheng/article/details/50019299 ----------------------------- ...

随机推荐

  1. 使用urllib3实现http请求

    Urllib3是一个功能强大,条理清晰,用于HTTP客户端的Python库,许多Python的原生系统已经开始使用urllib3. 1.发送请求 import urllib3 # 创建实例 http ...

  2. oeasy教您玩转vim - 30 - # 屏位行号

    ​ 屏位行号 回忆上节课内容 上次我们主要讲的翻页 :set scrolloff=2 控制上下留天留地 上下翻页(这个最常用) ctrl + f 向下一屏 ctrl + b 向上一屏 上下移屏一行 c ...

  3. 三星app移植修复(app反编译修改)

    工具: apktool ADT 命令: 反编译 java -jar apktool.jar d test.apk 重打包 java -jar apktool.jar b test 签名使用ADT sm ...

  4. 使用update-alternatives管理GCC版本

    目录 简介 操作过程 简介 当操作系统中存在多个版本的GCC时,可以使用使用update-alternatives管理默认使用的编译器版本. 本文使用gcc-9和gcc-11做演示,操作系统为ubun ...

  5. 普通用户权限运行docker

    docker安装后默认权限是管理员,在Ubuntu系统中需要使用sudo命令,但是很多时候docker的拉取操作都是写在脚步里面的,因此执行的时候十分的难搞,如果给脚本sudo权限后那么整个的环境路径 ...

  6. NVIDIA一直宣传的DPU是个啥东西,啥用处? —— NVIDIA BlueField-3 DPU

    地址: https://www.bilibili.com/video/BV1ys4y1z7nS/ 无意间看到了些比较靠谱的解释: (来自地址:https://www.bilibili.com/vide ...

  7. 高校教编程是否应该将Python作为主语言

    偶读一文:https://www.cnblogs.com/qing-gee/p/12941219.html 想到了这样的一个老问题,个人搞计算机软件开发.人工智能的时间已经十余年,虽然个人能力有限但是 ...

  8. Inno Setup 出现 the drive or unc share you selected does not exist or is not accessible 解决记录

    背景 软件是使用Inno Setup的,且安装后,再次安装是默认安装到历史路径.一次用户电脑维修后,发现再次安装后报错 解决办法 取消自动安装到默认路径就好了~ UsePreviousAppDir=n ...

  9. 利用sql查出的结果集重新生成一张虚拟表

    "select * from ( SELECT mc.id,mc.sn,mc.updated,mc.client_name,mc.brand,mc.mileage,mc.displace,m ...

  10. Spring 相关知识

    https://www.bilibili.com/video/BV1gW411W7wy?spm_id_from=333.788.b_636f6d6d656e74.173 老雷的Spring注解驱动 源 ...