[问题]sed 初学,请问

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
头像
liujingjing5
帖子: 512
注册时间: 2006-10-12 1:21

[问题]sed 初学,请问

#1

帖子 liujingjing5 » 2007-12-29 15:14

文件 test 内容
aaaa
aaaaaaa
aaaaaaaa
aaaaaaaaaaa

要求从第二行开始把a替换成b
sed '2,$ s/a/b/g' 正确

但是2是由变量$num的出的。
sed '$num,$ s/a/b/g' 出错
sed '"$num",$ s/a/b/g' 出错
sed '\$num,$ s/a/b/g' 不出错,但不替换了。
请教高手正确的写法。。

另外用tr可以实现吗?第二行开始替换
aBiNg
帖子: 1331
注册时间: 2006-07-09 12:22
来自: 南京

#2

帖子 aBiNg » 2007-12-29 17:22

sed "$num,$ s/a/b/g"

去了解一下单引号与双引号的区别。:)
头像
liujingjing5
帖子: 512
注册时间: 2006-10-12 1:21

#3

帖子 liujingjing5 » 2007-12-29 17:38

aBiNg 写了:sed "$num,$ s/a/b/g"

去了解一下单引号与双引号的区别。:)
3ku vrm7 :lol:
头像
liujingjing5
帖子: 512
注册时间: 2006-10-12 1:21

#4

帖子 liujingjing5 » 2007-12-29 17:41

你可以帮我看看这个帖子吗? :em70
viewtopic.php?t=97973&highlight=
cheason
帖子: 10
注册时间: 2006-07-16 20:52
来自: gz

#5

帖子 cheason » 2008-04-23 15:40

如果变量中有.呢
name1=memory.asv
name2=.sv
想在name1里面删除掉以name2结尾的字符:

echo $name1 | sed "s/$name2//"

输出memory.,并不是memory.asv,把.当成任意字符了,应该怎么办才好?
回复