sed进阶之模式替换


shell脚本编程系列


&符号可以代表替换命令中的匹配模式,不管模式匹配到了什么样的文本,都可以使用&符号代表这些内容。这样就能处理匹配模式的任何单词了。

echo "The cat sleeps in his hat." | sed 's/.at/"&"/g'

sed进阶之模式替换_第1张图片
&符号代表替换命令中指定模式所匹配的字符串,如果只是想获取字符串的一部分,则需要通过正则表达式的子模式和反向引用。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}'

sed进阶之模式替换_第2张图片

你可能感兴趣的:(基础,shell,bash,linux,服务器)