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
学习本章内容可以参考字符处理技巧相关知识。