Shell 文本切片与参数操作,本章将会讲解一些简单的文本替换技术以及Bash中可用的参数扩展简写法。这些简单的技巧通常能够帮助我们免敲不少键盘。

实战演练

让我们来练练手吧,替换变量内容中的部分文本:

$ var="This is a line of text"
$ echo ${var/line/REPLACED}
This is a REPLACED of text"

单词line被替换成了REPLACED,我们可以通过指定字符串的起始位置和长度来生成子串,其语法如下:

${variable_name:start_position:length}

下面的命令可以打印出第5个字符之后的内容:

$ string=abcdefghijklmnopqrstuvwxyz
$ echo ${string:4}
efghijklmnopqrstuvwxyz

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

$ echo ${string:4:8}
efghijkl

字符串起始字符的索引从0开始。从后向前计数,字符串末尾字符的索引为-1。如果-1出现在括号内,那么(-1)表示的就是最后一个字符的索引:

echo {string:(-1)} z echo ${string:(-2):2}
yz

学习本章内容可以参考字符处理技巧相关知识。

最后修改:2024 年 05 月 20 日
如果觉得我的文章对你有用,请随意赞赏