在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3612|回复: 1

[讨论] perl中调用sed时候插入多行内容是\n会被认为非法字符

[复制链接]
发表于 2013-2-22 19:30:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
在perl 中调用sed 插入多行内容时候\n被认成非法字符
例如在perl 中这么写的
system "sed '/ss/i\\abd\ncad\nsd' a >b";
目的在文件a中的ss行前插入
abd
cad
sd
在linux命令行执行sed '/ss/i\\abd\ncad\nsd' a >b没有问题
换成执行perl 后就会报\n为非法字符
求大神解答原因?不知错误出在哪里
 楼主| 发表于 2013-2-24 10:56:32 | 显示全部楼层
已经知道原因,感谢各位关注,分享下:
在 linux 下, 参数是被 ' ' 包著. 那意味著里面的都是文字字符    但在 perl下, 你的参数是被 " " 包著. 那意味著这字串将会被 "演译", 如 print "$x" ;    这时, \n 就成了换行符, 所以在 perl 里要写成 \\n
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-23 07:02 , Processed in 0.016721 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表