LinuxSir.cn,穿越时空的Linuxsir!

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

sed的正则表达式

[复制链接]
发表于 2004-8-2 12:46:40 | 显示全部楼层 |阅读模式
有文件a内容如下:
-----------------------------
    hahaha
-----------------------------
hahaha前有4个空格,欲把a的内容变成如下:

-----------------------------
#    hahaha
-----------------------------

想通过正则表达式来完成,我是这样的:
sed 's/^.*hahaha/#    hahaha/' a
   
这样只能前半部用上正则表达式,后半部却用不上,而且我觉得我这样
写不够简洁。不知道哪位大侠有更好的办法,一定要用上正则表达式。
谢谢!^_^
发表于 2004-8-2 13:22:40 | 显示全部楼层
sed 's/^ */# /' file
 楼主| 发表于 2004-8-2 13:33:29 | 显示全部楼层
a是这样的:
-----------------
1111haha
-----------------
要把它变成这样:
-----------------
#1111haha
-----------------
1代表空格,刚才好像不能显示空格。
刚才lee兄台是这样用的:
sed 's/^ */#/' file
这样haha前面的空格都北#代替了,有没有在后半部('/ / /',后半部即指第2个'/'和'/'之间那部分)也用上正则表达式,4个空格仍是要的。
发表于 2004-8-2 14:57:02 | 显示全部楼层
sed 's/^.*\(hahaha\)/# \1/' file
发表于 2004-8-2 17:14:23 | 显示全部楼层

  1. sed 's/\(^ *haha\)/#\1/' a
复制代码

  1. awk '/haha/{sub(/.*/,"#&");print}' a
复制代码
发表于 2004-8-2 20:37:36 | 显示全部楼层
sed -e 's/.*/# &/' file
发表于 2004-8-3 00:33:51 | 显示全部楼层
sed -e 's/^/#/' a
发表于 2006-5-18 20:29:17 | 显示全部楼层

& 是什么意思阿??

Post by aaccdd
sed -e 's/.*/# &/' file

正在学正则表达式,& 指的是.* 吗??代表整条记录??请兄弟们给我讲解一下阿,谢了
回复 支持 反对

使用道具 举报

发表于 2006-5-18 20:48:32 | 显示全部楼层
看看精华帖好不好。。。?
回复 支持 反对

使用道具 举报

发表于 2006-5-18 20:52:16 | 显示全部楼层

实在不好意思

Post by 终极幻想
看看精华帖好不好。。。?


兄弟我这些天一直在论坛看精华贴阿,也利用了搜索阿,可是难免有看不到的地方,由于兄弟我

刚入门,凡事还请多多关照阿
回复 支持 反对

使用道具 举报

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

本版积分规则

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