免费注册 查看新帖 |

Chinaunix

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

用sed命令如何能把一个匹配模式替换为换行符 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-08-21 14:22 |只看该作者 |倒序浏览
例:有文本11.txt如下

{B:0000000000000000000700000000000000000000}{2:1010000             }{3::30A:2006
0817:32A:RMB100000000:011:102331000014:52A:102336024002:CC4:102336024002:50C:0:5
0A:工行双林支行:012:314305400015:58A:314305400179:CC5:314305400179:59C:070667817
1130600008508:59A:吴江农村商业银行八都支行:30B:20060518:21A:00176297:CEJ:01:0BC:
00003929:010:3310:0B9:3010:72A:银承}{2:1010000             }{3::30A:20060817:32A
:RMB20000000:011:103331099994:52A:103331008366:CC4:000000000836:50C:083601011831
067:50A:银行承兑汇票结算户                     :012:3143054
00015:58A:314305400267:CC5:314305400267:59C:0706678521130600020318:59A:吴江农村?
桃狄?兴春??小                 ?30B:20060814:21A:00334101:CE
J:01:0BC:70760836:010:3310:0B9:3010}
想要达到的效果是
{B:0000000000000000000700000000000000000000}
{2:1010000             }{3::30A:2006
0817:32A:RMB100000000:011:102331000014:52A:102336024002:CC4:102336024002:50C:0:5
0A:工行双林支行:012:314305400015:58A:314305400179:CC5:314305400179:59C:070667817
1130600008508:59A:吴江农村商业银行八都支行:30B:20060518:21A:00176297:CEJ:01:0BC:
00003929:010:3310:0B9:3010:72A:银承}
{2:1010000             }{3::30A:20060817:32A
:RMB20000000:011:103331099994:52A:103331008366:CC4:000000000836:50C:083601011831
067:50A:银行承兑汇票结算户                     :012:3143054
00015:58A:314305400267:CC5:314305400267:59C:0706678521130600020318:59A:吴江农村?
桃狄?兴春??小                 ?30B:20060814:21A:00334101:CE
J:01:0BC:70760836:010:3310:0B9:3010}

就是说,见到{2:的字样就切换到新的一行。


应该用sed 's/{2:/ []&/g' 命令是可以的,[]里面应该是个回车符号,但我不知道如何表示回车.


谢谢各位大侠帮助哦!

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2006-08-21 14:30 |只看该作者
try

  1. sed 's/{2:/\n&/g'
复制代码

论坛徽章:
0
3 [报告]
发表于 2006-08-21 14:31 |只看该作者
看到以前的帖子,解决了。还是谢谢大家.

sed 's/{2:/\^J&/g'

论坛徽章:
0
4 [报告]
发表于 2006-08-22 15:45 |只看该作者
原帖由 yonghuzcy 于 2006-8-21 14:31 发表
看到以前的帖子,解决了。还是谢谢大家.

sed 's/{2:/\^J&/g'


难道^J 等于 \n ?

论坛徽章:
0
5 [报告]
发表于 2006-08-22 16:13 |只看该作者
偶的解决办法是:
写个sed脚本,sedscr ,如下:

  1. s/{2:/\
  2. &/g
复制代码


然后,执行该脚本:

  1. sed -f sedscr 11.txt
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP