LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 901|回复: 2

清问如何插入对齐的文本?

[复制链接]
发表于 2007-10-16 08:38:57 | 显示全部楼层 |阅读模式
如,文本中某一行行首有数个空格或tab或两者都有,如何在这行后面插入一行,行首也为数个空格或tab或两者都有?
发表于 2007-10-16 12:26:28 | 显示全部楼层
try this:

假设你要插入的一行文本保存在变量var中:
$ var="a string wants to be added"
你要处理的文件(test.txt)内容如下:
  1.   struct in_addr
  2.           hello, world
  3.   this is a pen
复制代码
其中第二行的行首为"一个空格 + 一个tab + 一个空格".

现在你要查找文件中含有"hello"的一行, 在它的后面插入相同缩进的一行内容(已经保存在变量var中), 则使用如下命令即可:
$ sed "/hello/{p; s/\([ \t]*\).*$/\1$var/}" test.txt
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-16 15:52:59 | 显示全部楼层
试了一下,可行, 谢谢了 : )
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表