在Linux中用sed在每行行尾追加字符需用$s/$/string/语法,$匹配行尾,实现插入而非替换;支持多字符、特殊符号(需转义或换分隔符)及就地修改(-i选项)。

在 Linux 中,用 sed 在每行行尾追加字符,核心是使用 $ 锚点匹配行尾,再用替换命令 s 将其替换成“原内容 + 想加的字符”。
基础写法:在每行末尾加一个字符
比如在每行末尾加 !:
说明:$ 表示行尾位置,s/$/!/ 就是“把行尾替换成 !”,实际效果就是在行尾插入该字符。注意这里不是“替换掉行尾”,而是“在行尾这个空位置插入”,所以原行内容保留不变。
常用变体:追加多个字符或字符串
想加多个字符(如 END)或带特殊符号的内容,直接写在替换部分即可:
- 加
END:sed 's/$/END/' file.txt - 加空格和句号:sed 's/$/ ./' file.txt
- 加制表符(需用 $' '):sed 's/$/'$' ''/' file.txt
就地修改文件(不输出到屏幕)
加 -i 选项可直接修改原文件(谨慎使用,建议先备份):
安全做法是先试运行,确认无误再加 -i;也可用 -i.bak 自动创建备份:
处理特殊字符:需要转义的情况
如果要追加的字符是 /、&、 等 sed 元字符,需转义或换分隔符:
- 加斜杠
/:sed 's|$|/|' file.txt(改用|当分隔符) - 加反斜杠
:sed 's/$/\/' file.txt(用两个反斜杠表示一个) - 加
&符号:sed 's/$/&/' file.txt(&在替换部分有特殊含义,需反斜杠转义)


















