Shell中的文本切片技术

在shell中竟然也是有字符串切片这个东西存在的,一直在python中运用切片,下面记录一下shell中切片的用法。


(1)、替换变量内容中的部分文本

$var="This is a line of text"

$ echo${var/line/REPLACED}

This is aREPLACED of text"

line被替换成REPLACED



(2)、指定字符串的起始位置和长度来生成子串

语法如下:

${variable_name:start_position:length}


打印第5个字符之后的内容:

$string=abcdefghijklmnopqrstuvwxyz

$ echo${string:4}

efghijklmnopqrstuvwxyz



从第5个字符开始,打印8个字符:

$ echo${string:4:8}

efghijkl


起始字符的索引从0开始计数。我们也可以从后向前计数,将最后一个字符索引记为 -1。但如果使用负数作为索引值,则必须将负数放入括号内。(-1)就是最后一个字符的索引。

echo${string:(-1)}

z

$ echo${string:(-2):2}

yz