LinuxSir.cn,穿越时空的Linuxsir!

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

怎样为非数字开头的行增加一个Tab?

[复制链接]
发表于 2008-10-6 09:49:06 | 显示全部楼层 |阅读模式
例如:
1、请选择答案()
A、          B、
C、         D、
要求把以A和C开头的行每行增加一个制表符,统一缩进。
发表于 2008-10-6 09:58:06 | 显示全部楼层
sed -e 's/^\([^0-9]\)/\t\1/'

或者

perl -p -e 's/^([\D])/\t\1/'

效果是一样的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-6 16:16:55 | 显示全部楼层
谢谢热心的版主!这里的\1表示什么?另外,能直接在vi里实现吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-10-7 09:41:07 | 显示全部楼层
经试验,在vi里可以这样子:
% s/^[^0-9]/\t&/g
回复 支持 反对

使用道具 举报

发表于 2008-10-7 13:40:23 | 显示全部楼层
\1代表前面匹配的模板
回复 支持 反对

使用道具 举报

发表于 2008-10-8 17:01:42 | 显示全部楼层
%s/^[^0-9]/\t&/g
这个貌似只是vim的表达式。
回复 支持 反对

使用道具 举报

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

本版积分规则

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