天天看点

c字符串截取一部分字符串_Shell处理字符串常用技巧截取子串简单案例

Shell处理字符串常用技巧之截取子串

在Shell编程中,经常要处理一些字符串变量。

下面给大家整理Shell处理字符串常用技巧之截取子串。

请参考:Shell处理字符串常用技巧之分割、替换字符串整理

(1)、${VALUE:OFFSET}或${VALUE:OFFSET:LENGTH}

从VALUE字符串的左边开始中截取子串。

(2)、${VALUE:0-OFFSET}或${VALUE:0-OFFSET:LENGTH}

从VALUE字符串的右边开始中截取子串。

解释:

(1) 左边第一个字符从0开始

(2) 右边第一个字符从0-1开始。

表示偏移OFFSET个字符开始,LENGTH表示要截取字符的长度。

如果没有LENGTH变量,表示偏移OFFSET个字符开始到字符串结束。

案例:

(1)、${VALUE:OFFSET}或${VALUE:OFFSET:LENGTH}

[[email protected] shellFiles]$ name=mynameisodysee

//从左到右

//偏移量为2,即:从第三个字符开始截到end

[[email protected] shellFiles]$ echo ${name:2}

nameisodysee

//从左到右匹配

//偏移量为2,截取长度为4

//即:从第三个字符开始截后面的4个字符结束

[[email protected] shellFiles]$ echo ${name:2:4}

name

c字符串截取一部分字符串_Shell处理字符串常用技巧截取子串简单案例

(2)、${VALUE:0-OFFSET}或${VALUE:0-OFFSET:LENGTH}

//从右到左匹配

//偏移量为8,即从右到左截取8个字符

[[email protected] shellFiles]$ name=mynameisodysee

[[email protected] shellFiles]$ echo ${name:0-8}

isodysee

//从右到左匹配

//偏移量为8,即从右到左截取8个字符

//length为2,即从左到右截取8个字符的前两个(这个地方比较拗脑)

[[email protected] shellFiles]$ echo ${name:0-8:2}

is

c字符串截取一部分字符串_Shell处理字符串常用技巧截取子串简单案例

总结:

关于以上的字符串操作,有点拗脑,不太容易记忆。

如果有什么好的记忆方式,望大家不吝赐教。

下一篇:Shell处理字符串常用技巧之截取子串

欢迎大家给予宝贵的意见或者建议。

欢迎大家补充或者共享一些其他的方法。

感谢支持。

继续阅读