免费注册 查看新帖 |

Chinaunix

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

SED 替换在LInux下不行,在Cygwin下正常 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-12-13 10:58 |只看该作者 |倒序浏览
cat test.txt
13786118023|sdfssdfecv|sdfexcvggaer|12313745673456|sdfjalk|adlkfj;|sdf

cat test.txt | sed 's/13[0-9]\{9\}|/\n&/g'

13786118023|sdfssdfecv|sdfexcvggaer|123
13745673456|sdfjalk|adlkfj;|sdf

这样在cygwin下是正常的。

但是在linux下执行却有问题,结果如下:

n13786118023|sdfssdfecv|sdfexcvggaer|123n13745673456|sdfjalk|adlkfj;|sdf

好像是把\n看作是n字母的转义了,请高手解答。

论坛徽章:
0
2 [报告]
发表于 2006-12-13 11:05 |只看该作者
cygwin下的版本是GNU sed version 4.1.5
linux下的版本是GNU sed version 3.02

如果是版本的问题,有什么快速的替代方案没有??

论坛徽章:
0
3 [报告]
发表于 2006-12-13 11:37 |只看该作者
手里没有测试环境,记得以前好象是这么解决的

  1. sed 's/13[0-9]\{9\}|/'`echo "\n"`'&/g'
复制代码

另外,ctrl+v+ENTER的方式输入"\n"应该也可以解决。

[ 本帖最后由 一梦如是 于 2006-12-13 11:38 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2006-12-13 11:48 |只看该作者
like this:

  1. sed 's/13[0-9]\{9\}|/\
  2. &/g'
复制代码


PS: 梦梦同学好~~~^_^

论坛徽章:
0
5 [报告]
发表于 2006-12-13 12:09 |只看该作者
好,谢谢先去试试。

论坛徽章:
0
6 [报告]
发表于 2006-12-13 12:11 |只看该作者
一梦如是的不行。

Edengundam的可以。

不过都谢谢大家
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP