shell脚本编程系列
&符号可以代表替换命令中的匹配模式,不管模式匹配到了什么样的文本,都可以使用&符号代表这些内容。这样就能处理匹配模式的任何单词了。
echo "The cat sleeps in his hat." | sed 's/.at/"&"/g'
&符号代表替换命令中指定模式所匹配的字符串,如果只是想获取字符串的一部分,则需要通过正则表达式的子模式和反向引用。sed编辑器使用圆括号来定义替换模式中的子模式,随后使用特殊的字符组合来引用每个子模式匹配到的文本。反向引用由反斜线和数字组成,数字表明子模式的序号,第一个子模式为\1,第二个子模式为\2,以此类推
echo "The Guide to Programming" |sed 's/\(Guide to\) Programming/\1 DevOps/'
通过模式替换和测试命令在大数中插入逗号
echo "1234567"|sed '{
> :start
> s/\(.*[0-9]\)\([0-9]\{3\}\)/\1,\2/
> t start}'