免费注册 查看新帖 |

Chinaunix

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

发道题目,大家共勉一下! [复制链接]

论坛徽章:
0
11 [报告]
发表于 2006-08-21 13:04 |只看该作者
原帖由 woodie 于 2006-8-21 12:50 发表

你确定你真的说明白了吗?
如上,红色的逗号和其后跟随的空格是忘记敲了还是故意要丢掉?^_^第一个Documents后要换行这一点似乎没有什么疑问。
如果没有错误,这样的一行perl应该就搞定了:
perl -0pe 's/Us ...


不是难不难,而是希望通过这个题目可以给大家一个更加深入的认识sed的机会哦!
所以希望大家写出自己的答案哦!
当然,你可以用其他的shell方法,awk .cut..... 最重要的是得出结果哦!

论坛徽章:
0
12 [报告]
发表于 2006-08-21 14:16 |只看该作者
cat file.txt | tr '\n' '@' | sed 's/User\(@\)[ ]*and\(@\)[ ]*Operation/User and Operation\1\2/g'

然后替换出来的@数目可能连续有1个,2个,3个,至于对余下的连续@的处理就看你题目的要求了

论坛徽章:
7
荣誉版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07狮子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10双子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
13 [报告]
发表于 2006-08-21 14:24 |只看该作者
  1. sed ':r;h;s/\n/ /g;s/User and Operation Documents/^_^/g;Tj;h;:j;s/$/\nUser and Operation Documents/;T;s/.*\(U.*\)\n\1/&/;g;T;N;br'
复制代码


这是替换结果

I am a student , I like UNIX , I aways read the ^_^, I know it is very important for me .
But , I do not like the ^_^ . Since it is so
difficult for reading and understanding .
Last Sunday , one of my friend told me that the ^_^
will upgraded to the Version 3.1 .

BTW: 楼主的例子的第一个替换似乎有问题。

论坛徽章:
0
14 [报告]
发表于 2006-08-21 14:52 |只看该作者
原帖由 r2007 于 2006-8-21 14:24 发表
  1. sed ':r;h;s/\n/ /g;s/User and Operation Documents/^_^/g;Tj;h;:j;s/$/\nUser and Operation Documents/;T;s/.*\(U.*\)\n\1/&/;g;T;N;br'
复制代码


这是替换结果

I am a student , I like UNIX , ...



是不是在作第一个替换的时候发现没有办法增加一个换行哦!
所以导致完成第一个替换后,下一行的一句话,紧跟前一行了哦!

论坛徽章:
7
荣誉版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07狮子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10双子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
15 [报告]
发表于 2006-08-21 14:59 |只看该作者
原帖由 stephen412 于 2006-8-21 14:52 发表



是不是在作第一个替换的时候发现没有办法增加一个换行哦!
所以导致完成第一个替换后,下一行的一句话,紧跟前一行了哦!

你的规则是什么?

I am a student , I like UNIX , I aways read the User and Operation
Documents, I know it is very important for me .
这一段为什么替换后加换行呢,而且是在逗号后面?

而下面这一段又不需要回车?
But , I do not like the User and Operation Documents . Since it is so

你的规则到底是什么?

论坛徽章:
0
16 [报告]
发表于 2006-08-21 14:59 |只看该作者
原帖由 nhjidle 于 2006-8-21 14:16 发表
cat file.txt | tr '\n' '@' | sed 's/User\(@\)[ ]*and\(@\)[ ]*Operation/User and Operation\1\2/g'

然后替换出来的@数目可能连续有1个,2个,3个,至于对余下的连续@的处理就看你题目的要求了



哈哈!
nhjidle 你的答案好像不是很正确哦!
仔细想想啊!

论坛徽章:
7
荣誉版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07狮子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10双子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
17 [报告]
发表于 2006-08-21 15:06 |只看该作者
请楼主看看5楼的数据,为什么替换后逗号又没了,自己的示例都变来变去,如何知道你的规则呢?

论坛徽章:
0
18 [报告]
发表于 2006-08-21 15:06 |只看该作者
原帖由 r2007 于 2006-8-21 14:59 发表

你的规则是什么?

I am a student , I like UNIX , I aways read the User and Operation
Documents, I know it is very important for me .
这一段为什么替换后加换行呢,而且是在逗号后面?

而下面这 ...



r2007 其实你的答案还是符合我的题目要求的,我只是希望不知道你可不可以把
I know it is very important for me .
换行显示而已哦!

论坛徽章:
7
荣誉版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07狮子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10双子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
19 [报告]
发表于 2006-08-21 15:10 |只看该作者
原帖由 stephen412 于 2006-8-21 15:06 发表



r2007 其实你的答案还是符合我的题目要求的,我只是希望不知道你可不可以把
I know it is very important for me .
换行显示而已哦!

这个代码只是保持原文,如果原文是
....... Documents,
I know it is very important for me .
则保留换行

如果无
....... Documents,I know it is very important for me .
则处理后仍无,若加,也可以请给出满足什么条件时要加,还是通通加?

论坛徽章:
0
20 [报告]
发表于 2006-08-21 15:18 |只看该作者
原帖由 r2007 于 2006-8-21 15:06 发表
请楼主看看5楼的数据,为什么替换后逗号又没了,自己的示例都变来变去,如何知道你的规则呢?


是的,5楼的数据在复制的过程中,我出了些状况,丢掉了逗号哦!
呵呵!
其实这个题目,你如果没有办法,按照我的目标输出文件格式,得到文件的话。
也没有关系,最重要的你是把文件中的 User and Operation Documents 都替换为 Instruction Documents .
这个题目练习的就是 多行模式下的sed替换,因为一般的sed 是单行读入文件的内容然后替换的。但是现在的目标
文件就要求你拥有多行读入然后替换的能力哦!
其实,大家的答案太复杂了!
提示:使用NEXT 哦!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP