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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7295|回复: 14

[求助] perl 删除文件中特定字符

[复制链接]
发表于 2013-1-17 11:06:25 | 显示全部楼层 |阅读模式

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

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

x
请求那位高手给点指导:最近工作上需要用Perl来处理一个文件,文件里面含有以“fpga”开头 “,”结尾的字符,比如:fpga_usb_a,  fpga_iic_b,等,现在想要把这些字符给删掉,请问该如何写这样的脚本。我是刚刚接触perl,用了m//匹配符,想找到这些字符并提取出来,但是每次得到的都是这些字符所在的整个一行。请哪位高手给点指导,谢谢
发表于 2013-1-17 11:37:58 | 显示全部楼层
m关键字是匹配,替换需要用s关键字:
s/^fpga//
s/,$//
 楼主| 发表于 2013-1-17 14:31:59 | 显示全部楼层
回复 2# sjtusonic


    看不太明白,替换使用s//,但是如何查找以fpga_开头、以,结尾的字符串,字符串中间为其他的字符。你给的这个,可以详细说一下意思吗?
发表于 2013-1-17 16:21:09 | 显示全部楼层
perl -p -e 's/^fpga_.*,$//' your_file
你试试直接在命令行输入这个吧

^ 行开头
$ 行结尾
.* 任意多个任意字符
 楼主| 发表于 2013-1-18 09:55:17 | 显示全部楼层
回复 4# sjtusonic


    不行唉,在命令行里面直接键入你给的这条命令,结果是把我的文件直接打印在显示器上,没有把FPGA_的字符串去掉。朋友,有正则表达式相关的东西吗,这个东西很不好搞
发表于 2013-1-18 10:13:26 | 显示全部楼层
回复 5# hzdzkjly


       不行唉,在命令行里面直接键入你给的这条命令,结果是把我的文件直接打印在显示器上,没有把FPGA_的字符串去掉。朋友,有正则表达式相关的东西吗,这个东西很不好搞
-----------------------------------

朋友,看来你真的是对这些很生疏啊。。。

perl -p -e 's/^fpga_.*,$//i' your_file > new_file_name
你试试直接在命令行输入这个吧

^ 行开头
$ 行结尾
.* 任意多个任意字符
i 忽略大小写
> 输出重定向
发表于 2013-1-18 10:17:02 | 显示全部楼层
回复 5# hzdzkjly


    拿出你“为技术付出一切”的勇气来,去找资料吧

比如资料区射门靴版主的帖子里:
http://bbs.eetop.cn/thread-309424-1-1.html

你找个perl教程,看看“正则表达式”那一章,你就明白啦。
发表于 2013-1-18 18:06:08 | 显示全部楼层
他那意思是不能对原文修改吧? 用tie包试试,或输出到一个新的文件
发表于 2013-1-18 18:54:36 | 显示全部楼层
回复 8# legend03u8z


    perl加-i参数是对原文修改,我这里没有加
 楼主| 发表于 2013-1-22 12:14:16 | 显示全部楼层
我还是先把基础的搞清楚,之前什么都不懂,
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-18 23:01 , Processed in 0.021146 second(s), 7 queries , Gzip On, Redis On.

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