免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: trueno
打印 上一主题 下一主题

[急] 如果用sed在文件的每一行开头都插入一个tab? [复制链接]

论坛徽章:
0
61 [报告]
发表于 2008-07-24 14:59 |只看该作者
再请教你们两个问题:
(1)
我想对匹配特定模式的两行之间的其他所有行进行同一种操作,比如:
begin
line2....
line3...
...

end
就是对begin与end之间的所有行进行同一种处理,怎么来实现?

(2)目前我要对我的c语言的源文件进行格式化,比如:
void func()
{
if()
{
printf();
}
return;
}
现在我想让它变成这种形式:
void func()
{
    if()
    {
        printf();
    }
    return;
}
这样怎么来实现呢?

请教各位大牛了,工作需要,昨天开始学习sed。

论坛徽章:
0
62 [报告]
发表于 2008-07-24 15:05 |只看该作者
原帖由 trueno 于 2008-7-24 14:49 发表


没有,所以我比较疑惑



这个问题我用 空格和tab代替[ ]中的blank就可以了。

请帮我解决一下61楼的两个问题吧,谢谢

论坛徽章:
0
63 [报告]
发表于 2008-07-24 15:10 |只看该作者
原帖由 trueno 于 2008-7-24 14:49 发表


没有,所以我比较疑惑

有没有试过\s?也是包含TAB和空格的,就是不知道SUNOS里面行不行。

论坛徽章:
0
64 [报告]
发表于 2008-07-24 15:12 |只看该作者
/begin/,/end/s/^/tab/
tab你自己改,我也不知道你那边哪个是可以用的。你的要求要多次缩进的话比较麻烦。

论坛徽章:
0
65 [报告]
发表于 2008-07-24 15:13 |只看该作者

论坛徽章:
0
66 [报告]
发表于 2008-07-24 15:16 |只看该作者
原帖由 walkerxk 于 2008-7-24 15:12 发表
/begin/,/end/s/^/tab/
tab你自己改,我也不知道你那边哪个是可以用的。你的要求要多次缩进的话比较麻烦。


这个/begin/,/end/是可以匹配多个行吗?
我原以为它是在同一个行中的匹配呢

论坛徽章:
0
67 [报告]
发表于 2008-07-24 15:19 |只看该作者
原帖由 trueno 于 2008-7-24 15:16 发表


这个/begin/,/end/是可以匹配多个行吗?
我原以为它是在同一个行中的匹配呢


另外,如果是:
begin

   line....

end
   line.....

end

这种情况下,/begin/,/end/是匹配那个end呢,前一个,还是后一个?

论坛徽章:
0
68 [报告]
发表于 2008-07-24 15:38 |只看该作者
原帖由 trueno 于 2008-7-24 15:19 发表


另外,如果是:
begin

   line....

end
   line.....

end

这种情况下,/begin/,/end/是匹配那个end呢,前一个,还是后一个?

试试不就知道了?实践是检验真理的唯一标准。我是第一个,你那我不清楚,但是只要sed不发神经的话应该和我的一样。

论坛徽章:
0
69 [报告]
发表于 2008-07-24 16:14 |只看该作者
原帖由 walkerxk 于 2008-7-24 15:38 发表

试试不就知道了?实践是检验真理的唯一标准。我是第一个,你那我不清楚,但是只要sed不发神经的话应该和我的一样。



还得问个问题阿

怎么表达包含一个模式,但是又不包含一个模式呢?
比如:
test one;
test two

我只需要找到那些含有test,但是不带;的行,怎么来做?

论坛徽章:
0
70 [报告]
发表于 2008-07-24 16:16 |只看该作者

回复 #69 trueno 的帖子

sed -n '/test/{/;/!p}' urfile
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP