shell编程:sed - 流编辑器(5)
目录
1.行号范围
(1)单行替换
(2)范围替换
(3)从某行到文件末尾
2.模式范围
(1)从第一个匹配到第二个匹配
1.行号范围
(1)单行替换
单行替换(第 5 行):sed '5s/line/LINE/' file.txt
详细解释:
• 5:地址,只对第 5 行操作
• s/line/LINE/:替换命令
• 仅在第 5 行进行替换
sed命令里面的数字表示行号
(2)范围替换
范围替换(第 3 到第 7 行):sed '3,7s/line/LINE/g' file.txt
详细解释:
• 3,7:地址范围,第 3 到第 7 行
• s/line/LINE/g:全局替换
• 只在指定范围内执行替换
(3)从某行到文件末尾
从第 5 行到末尾替换 :sed '5,$s/line/LINE/g' file.txt
详细解释:
• 5,$:从第 5 行到文件末尾
• $表示最后一行
• 在大范围进行替换
2.模式范围
(1)从第一个匹配到第二个匹配
从第一个'first'到第一个'last'之间替换:sed '/first/,/last/s/line/LINE/g' multiline.txt
详细解释:
• /first/,/last/:模式范围,从包含"first"的行到包含"last"的行
• s/line/LINE/g:在范围内全局替换
• 范围是动态的,基于内容