shell脚本中字符串截取的多种方法
  ghz0WkYuOA95 2023年11月18日 25 0

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

    代码:echo ${var#*//}

           其中var是变量名,#是运算符,*//表示从左边开始删除第一个//及左边的所有字符   

    示例:

    

shell脚本中字符串截取的多种方法_分隔符

    结果:

    

shell脚本中字符串截取的多种方法_多列_02

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

    代码:echo ${var##*/}

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

    示例:

    

shell脚本中字符串截取的多种方法_多列_03

    结果:

    

shell脚本中字符串截取的多种方法_多列_04

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

    代码:echo ${var%/*}

              其中%/*表示从右边开始,删除第一个/号及右边的字符

    示例:

    

shell脚本中字符串截取的多种方法_分隔符_05

    结果:

    

shell脚本中字符串截取的多种方法_运算符_06

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

    代码:echo ${%%/*}

            其中%%/*表示从右边开始,删除最后(最左边)一个/及右边的字符

    示例:

    

shell脚本中字符串截取的多种方法_运算符_07

    结果:

    

shell脚本中字符串截取的多种方法_分隔符_08

5.从左边第几个字符开始,及字符的个数

    代码:echo ${var:0:5}

            其中的0表示左边第一个字符开始,5表示字符的总个数

    示例:

    

shell脚本中字符串截取的多种方法_分隔符_09

    结果:

    

shell脚本中字符串截取的多种方法_多列_10

6.从左边第几个字符开始,一直到结束

    代码:echo ${var:7}

            其中的7表示从左边第8个字符开始,一直到结束

    示例:

    

shell脚本中字符串截取的多种方法_运算符_11

    结果:

    

shell脚本中字符串截取的多种方法_分隔符_12

7.从右边第几个字符开始,及字符的个数

    代码:echo ${var:0-7:3}

            其中的0-7表示从右边数起第七个字符开始,3表示字符的个数

    示例:

    

shell脚本中字符串截取的多种方法_运算符_13

    结果:

    

shell脚本中字符串截取的多种方法_运算符_14

8.从右边第几个字符开始,一直到结束

    代码: echo ${var:0-7}

            表示从右边第七个字符开始,一直到结束

    示例:

    

shell脚本中字符串截取的多种方法_运算符_15

    结果:

    

shell脚本中字符串截取的多种方法_分隔符_16

 

9、cut   cut命令的功能是用于按列提取文件内容。cut是可以根据指定的关键词信息,针对特定的列内容进行过滤。

cut常用参数:
  -s 禁止打印不包含分隔符的行
  -d 根据特定的分隔符分割
  -f  取特定列,可以是单列,也可以是多列
  -c 根据字符取
  --output-delimiter   设置截取的列以特定分隔符显示

参考实例:

(1)以冒号为间隔符,仅提取指定文件中第一列的内容:

shell脚本中字符串截取的多种方法_运算符_17

(2)以冒号为间隔符,提取指定文件中第一列到第四列的内容:

 

shell脚本中字符串截取的多种方法_运算符_18

以冒号为间隔符,提取指定文件中第一列、第四列的内容

shell脚本中字符串截取的多种方法_运算符_19

(4)仅提取指定文件中每行的前4个字符:

shell脚本中字符串截取的多种方法_多列_20

 5)切割/etc/passwd的第2,4,6个字节

shell脚本中字符串截取的多种方法_分隔符_21

 6)字符串截取 第2位之后(含第2位

shell脚本中字符串截取的多种方法_多列_22

shell脚本中字符串截取的多种方法_分隔符_23


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月18日 0

暂无评论

推荐阅读
ghz0WkYuOA95