shell 字符串截取方法

  • 1.从第几个索引开始,截取到最后
  • 2.从第几个索引开始,截取指定长度字符
  • 3.从倒数第几个位置开始,截取到最后
  • 4.从倒数第几个位置开始,截取指定长度字符
  • 5.从左开始匹配第一个指定子字符串,并截取右边字符串
  • 6.从左开始匹配最后一个指定子字符串,并截取右边字符串
  • 7.从右开始匹配第一个指定子字符串,并截取左边字符串
  • 8.从右开始匹配最后一个指定子字符串,并截取左边字符串
  • 总结

字符串变量使用如下:

str="hello/world/hello/shell"

1.从第几个索引开始,截取到最后

索引从0开始

echo ${str:6}
结果:world/hello/shell

2.从第几个索引开始,截取指定长度字符

索引从0开始

echo ${str:6:5}
结果:world

3.从倒数第几个位置开始,截取到最后

位置从1开始数

echo ${str: 0-5}
结果:shell

4.从倒数第几个位置开始,截取指定长度字符

位置从1开始数

echo ${str: 0-5:3}
结果:she

5.从左开始匹配第一个指定子字符串,并截取右边字符串

使用#
其中*表示通配符,/表示需要匹配的子串

echo ${str#*/}
结果: world/hello/shell

6.从左开始匹配最后一个指定子字符串,并截取右边字符串

使用##
其中*表示通配符,/表示需要匹配的子串

echo ${str##*/}
结果: shell

7.从右开始匹配第一个指定子字符串,并截取左边字符串

echo ${str%/*}
结果: hello/world/hello

8.从右开始匹配最后一个指定子字符串,并截取左边字符串

echo ${str%%/*}
结果: hello

总结

格式 说明
${string: start :length} 从 string 字符串的左边第 start 个字符开始,向右截取 length 个字符。(start从0开始)
${string: start} 从 string 字符串的左边第 start 个字符开始截取,直到最后。(start从0开始)
${string: 0-start :length} 从 string 字符串的右边第 start 个字符开始,向右截取 length 个字符。(start从1开始)
${string: 0-start} 从 string 字符串的右边第 start 个字符开始截取,直到最后。
${string#*chars} 从 string 字符串第一次出现 *chars 的位置开始,截取 *chars 右边的所有字符。
${string##*chars} 从 string 字符串最后一次出现 *chars 的位置开始,截取 *chars 右边的所有字符。
${string%chars*} 从 string 字符串右边匹配第一次出现 chars* 的位置开始,截取 chars* 左边的所有字符。
${string%%chars*} 从 string 字符串右边匹配最后一次出现 chars* 的位置开始,截取 chars* 左边的所有字符。

shell字符串截取相关推荐

  1. shell字符串截取方法

    shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法. ${parameter:-word} ${parameter:=word} ${parameter:?word} ...

  2. shell字符串截取总结

    shell中截取字符串的方法有很多中,本人对其中几种常用的进行整理总结. 0x01.grep 在文件中搜寻字符串匹配的行并输出 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式 ...

  3. Linux Shell字符串截取(非常详细):#左边开始截取、%右边开始截取、指定位置截取

    演示 Shell 截取字符串通常有两种方式:从指定位置开始截取和从指定字符(子字符串)开始截取. 从指定位置开始截取 这种方式需要两个参数:除了指定起始位置,还需要截取长度,才能最终确定要截取的字符串 ...

  4. Shell 字符串截取

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. Linux 的字符串截取很有用.有八种方法. 假设有变量 var=http://www.aaa.co ...

  5. Linux Bash Shell字符串截取

    #!/bin/bash #定义变量赋值时等号两边不能有空格,否则会报命令不存在 # 运行shell脚本两种方式 # 1.作为解释参数 /bin/sh test.sh ;  2.作为可执行文件 chmo ...

  6. linux shell字符串截取总结

    一.字符串变量的截取操作 对字符串变量的截取操作一般都是通过${操作符}的方式进行,如下: 1.从指定位置(index)截取固定长度 格式:${string:start:length} 其中,stri ...

  7. Shell字符串截取——获取oracle group名字

    业务背景,在执行oracle文件时,需要授权给相应文件,一边我们用chown -Roracle:oraclegroup xxx,不同服务器oraclegroup名字不相同,怎么样获取呢? 方法:首先, ...

  8. shell 字符串截取

    使用#截取0以后的内容 #表示操作符,*0表示从左往右找到第一个0,截取0之后的所有字符 [root@localhost ~]# var=1234567890abcedef1203 [root@loc ...

  9. shell字符串截取掐头去尾操作

    字符串的掐头去尾 字符串掐头(#用来删除头部,*通配) 从左向右,最短匹配删除 格式:echo ${变量名#*关键词} [root@ceshiji ~]# x=`head -1 /etc/passwd ...

最新文章

  1. 第二期直播《相机标定的基本原理与经验分享》精彩回录
  2. [C++] vector 定义和初始化
  3. 手把手,教你用MaxCompute+OpenSearch搭建分布式搜索引擎
  4. php 正则替换 ubb,php实现过滤UBB代码的类
  5. leetcode 203. Remove Linked List Elements(链表)
  6. nmon在linux系统中的应用
  7. java如何使用while_java中的while(true)语句的用法是什么
  8. 既是老师又是师兄的临别箴言
  9. Altium_Designer不规则焊盘制作
  10. scrollTop记录滚动位置
  11. 数据库应用——MyCat代理MySQL集群
  12. Resources的使用方式
  13. 如何搭建一个超级好用的JavaWeb框架?
  14. PCI设备初始化(一)
  15. 机器学习期末简答总结
  16. 全球便携式彩色超声设备行业收入预计2028年达到12.755亿美元
  17. 【华为OD统一考试B卷 | 100分】5键键盘(C++ Java JavaScript Python)
  18. db2分组后上下合并不一样的列
  19. Knowledge 复习内容
  20. git push origin master报错的解决方法 常见git命令(待更新)

热门文章

  1. 五子棋AI(学习笔记)
  2. 记一次笔记本电脑硬件升级
  3. com.aspose.cells使用ICustomFunction自定义函数
  4. 【天光学术】会计学论文:会计论文题目怎么写好
  5. 计算S=1+22+333+4444····+n,当S超过1000时n最小值和S的值
  6. pc 长截屏_如何在Windows上截屏–在PC教程上截屏
  7. ESMM模型与ESM2模型总结
  8. 惠普打印机扫描至计算机功能被禁用
  9. gunicorn -k 参数详解 (worker type)
  10. 红米融合位置服务器,红米Redmi 10X几个颜色 Redmi 10X Pro测评