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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3210|回复: 7

[原创] 学习perl语言的疑惑

[复制链接]
发表于 2011-12-18 18:05:44 | 显示全部楼层 |阅读模式

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

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

x
大家好,我刚刚看了perl编程,有点不理解,如果要查找a.txt文件中的aaa字符串,然后改成ccc,这个用函数如何实现?

如果在终端可以直接perl -i -p -e "s/aaa/ccc/g" a.txt


但是写脚本实现,是不是要建个新文件,然后打开原文件,一行行读取判断,然后更改,然后写到新文件,然后删除原文件,然后新文件改名?

请大家帮助
 楼主| 发表于 2011-12-18 18:47:49 | 显示全部楼层
难道是直接在脚本里面写
system ("perl -i -e -p \"s/aaa/ccc/g\" a.txt");
 楼主| 发表于 2011-12-18 19:00:25 | 显示全部楼层
嗯,看到第12章,明白了,还可以用system函数,也可以直接在原文件上修改

while(<>){
s/aaa/ccc/g;
}
发表于 2011-12-19 10:01:45 | 显示全部楼层
一般来说是写到新文件里面, in-place edit 不是很方便
open my $F1, '<' ,  $file1 ;
open my $F2, '>' , $file2 ;
while (<$F1>) {
  s/aaa/ccc/g;
   print {$F2}  $_ ;
}
close $F1 ;
close $F2 ;


也可以用 sed
sed  's/aaa/ccc'  file1 > file2
发表于 2011-12-26 15:43:31 | 显示全部楼层
正在学习中... ...
发表于 2011-12-26 18:28:08 | 显示全部楼层
sed就能搞定的
发表于 2011-12-30 20:17:21 | 显示全部楼层
看看句柄或者钻石操作符吧
发表于 2011-12-30 20:32:03 | 显示全部楼层
这是perl中最基础的知识了,每种语言有每一种的优缺点,精通一种了其他的就大同小异了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-5-9 21:15 , Processed in 0.029575 second(s), 8 queries , Gzip On, Redis On.

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