免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5387 | 回复: 11
打印 上一主题 下一主题

替换文件中的dos换行符的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-29 11:52 |只看该作者 |倒序浏览
文件a:
aaaa ^M
bbbb ^M
cccc
ddddd ^M
eee^M
fffff^M
gggg

试图形成以下文件:
   aaaa bbbb cccc
    dddd  eeee  ffff   gggg
即把有dos换行符结尾的记录与下一行连接。

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
2 [报告]
发表于 2009-09-29 12:04 |只看该作者
dos2unix

论坛徽章:
0
3 [报告]
发表于 2009-09-29 12:07 |只看该作者
本来想用类似    awk '/^M/{printf("%s",$0)'  aa   这样的方法。
但是发现根本没有输出,而  awk '/^M/'  aa 则是正确的。
red_flag

请教了。
用sed的模式空间,应该也能实现这个效果,研究了半天,还没结果。呵呵

论坛徽章:
0
4 [报告]
发表于 2009-09-29 12:10 |只看该作者
原帖由 blackold 于 2009-9-29 12:04 发表
dos2unix

感谢二楼回答,这不是我想要的。
我需要的是把含^M 的与下行拼接。
说白了,就是dos下换行的文件,我要做成一行来处理。

论坛徽章:
0
5 [报告]
发表于 2009-09-29 12:13 |只看该作者
awk '/^M$/{sub(/^M$/," ");printf $0;next}1' file

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
6 [报告]
发表于 2009-09-29 12:22 |只看该作者

回复 #4 红狐狸 的帖子

  1. sed ':n;N;s/\r\n//;tn;P;D' urfile
复制代码

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
7 [报告]
发表于 2009-09-29 13:04 |只看该作者
awk:
  1. awk -v RS='\r\n' -v ORS='' 1 urfile
复制代码

论坛徽章:
0
8 [报告]
发表于 2009-09-29 13:33 |只看该作者
非常感谢。

论坛徽章:
8
戌狗
日期:2014-09-26 16:39:44水瓶座
日期:2014-10-10 02:06:57金牛座
日期:2014-10-11 23:04:042015亚冠之首尔
日期:2015-06-23 15:37:0015-16赛季CBA联赛之天津
日期:2016-01-22 18:58:2915-16赛季CBA联赛之佛山
日期:2016-05-31 19:18:0815-16赛季CBA联赛之同曦
日期:2016-08-10 16:26:3315-16赛季CBA联赛之辽宁
日期:2018-01-10 11:47:40
9 [报告]
发表于 2009-09-29 13:48 |只看该作者
以上的都没有一个是正确的   本地实验没有一个是楼主要求的那样输出的 都是原样输出

论坛徽章:
0
10 [报告]
发表于 2009-09-29 14:03 |只看该作者

回复 #9 wiliiwin 的帖子

看来我5楼的内容得加个注解: ^M的输入方法是-- 按ctrl和v,松开v不松ctrl,按m
对了,^M换成\r也一样

[ 本帖最后由 ywlscpl 于 2009-9-29 14:08 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP