千家信息网

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

发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,1.#号截取,删除左边字符,保留右边字符。代码:echo ${var#*//}其中var是变量名,#是运算符,*//表示从左边开始删除第一个//及左边的所有字符示例:结果:2.##截取,删除左边字符,
千家信息网最后更新 2024年11月24日shell脚本中字符串截取的多种方法

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

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

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

示例:

结果:


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

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

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

示例:

结果:

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

代码:echo ${var%/*}

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

示例:

结果:

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

代码:echo ${%%/*}

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

示例:

结果:

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

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

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

示例:

结果:

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

代码:echo ${var:7}

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

示例:

结果:

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

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

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

示例:

结果:

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

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

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

示例:

结果:

9.cut命令主要是接受三个定位方法:

(1)字节,用选项-b

(2)字符,用选项-c

(3)域,用选项-f

示例:

这样看似乎-b和-c选项没有什么区别,其实不然,因为who输出的都是单字节字符,所以用-b和-c没有区别,若是改成中文,则只有-c可以使用了,而-b输出的是乱码。

我们所提到的-b和-c只能在固定格式的文档中提取信息,而对于非固定格式的信息就没有用了,这时就用到"域"了。

示例:


0