LinuxSir.cn,穿越时空的Linuxsir!

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

为何头或尾不能掉换

[复制链接]
发表于 2004-8-10 13:22:10 | 显示全部楼层 |阅读模式
有文件a如下:
---------------------------------
haha my good friends
jiaxian my friend
---------------------------------

我想把第一行的"haha"和"good"掉换位置,这样作却不行:
sed -e ‘s/\(friends\)\(good\)/\2\1/g' a
位置没有发生变化。

但是"my" 和"good"却可以对换位置,命令行如下:
sed -e 's/\(my\) \(good\)/\2 \1/g' a
位置却发生了变化。

我接着想把"friends"和"haha"对换,却不可以,命令行如下:
sed -e 's/^\(haha\) \(friends\)/\2 \1/g' a

但是把"haha"和 "my"对换却可以,命令行如下:
sed -e 's/\(haha\) \(my\)/\2 \1/g' a


请问,这是为什么?我在哪里错了。
谢谢!
发表于 2004-8-10 14:03:19 | 显示全部楼层
  1. sed 's/\(^haha\)\(.*\)\(good\)\(.*$\)/\3\2\1\4/'
复制代码

注意:相邻模式和不相邻模式
 楼主| 发表于 2004-8-10 14:11:33 | 显示全部楼层
谢谢,^_^
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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