[问题]请教一个sed行中插入文本的问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
spider5
帖子: 351
注册时间: 2005-12-15 21:52

[问题]请教一个sed行中插入文本的问题

#1

帖子 spider5 » 2008-01-04 15:47

一个示例行:
There are a lot of problems.
现在想把它变成两行:
There are not a lot of answers ,
instead of problems.

如果用i\插入要执行好几个sed命令来定位。
想用替换的话,有在

代码: 全选

s/pattern/newpattern/
语法中,在newpattern里指代pattern的通配符吗?
实际问题里的a lot of不是一个常量字符串。
头像
iblicf
帖子: 3766
注册时间: 2007-01-15 17:15

#2

帖子 iblicf » 2008-01-04 16:46

sed 's/\(a lot of \)problems/\1answers/ ;/a lot of/a\instead of problems. ' ./file_name
头像
spider5
帖子: 351
注册时间: 2005-12-15 21:52

#3

帖子 spider5 » 2008-01-05 11:32

感谢2楼的关注,怪我没说清楚,其实/problems./这部分也不是常量。

用\[number] 是可以代替pattern中括号里的内容,是么?如果这样就有解决方法。
头像
iblicf
帖子: 3766
注册时间: 2007-01-15 17:15

#4

帖子 iblicf » 2008-01-05 12:10

我听不懂你说的,我想具体替换的办法已经给出来了,至于是不是“常量字符串”, script 文件里无论如何都可以“装配”主来的阿?。。。
回复