免费注册 查看新帖 |

Chinaunix

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

[求助]修改文件内容 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-12-16 11:26 |只看该作者 |倒序浏览
本帖最后由 haijunzeng 于 2010-12-16 11:31 编辑

以前很少接触perl,现急需要改点脚本

有一文本文件,内容如下:
M48
METRIC,LZ
VER,1
FMAT,2
T1C2.01
T2C2.08
T3C0.95
T4C3.15
T5C0.60
T6C0.99

现需把其中的2.01和2.08都改为2.00
这两行的行号也是固定的

有什么好方法?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2010-12-16 11:36 |只看该作者
没有其他2.xx了?
sed 's/2\..*/2/' lines
M48
METRIC,LZ
VER,1
FMAT,2
T1C2
T2C2
T3C0.95
T4C3.15
T5C0.60
T6C0.99

论坛徽章:
0
3 [报告]
发表于 2010-12-16 11:38 |只看该作者
回复 2# 昭襄王


  怎么用sed?我在我自己电脑上用sed可以,到别人电脑就挂了

不要用sed

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2010-12-16 11:43 |只看该作者
sed能让电脑挂了?
正则一样
  1. perl -p -e 's/2\..*/2/' lines
  2. M48
  3. METRIC,LZ
  4. VER,1
  5. FMAT,2
  6. T1C2
  7. T2C2
  8. T3C0.95
  9. T4C3.15
  10. T5C0.60
  11. T6C0.99
复制代码

论坛徽章:
0
5 [报告]
发表于 2010-12-16 11:45 |只看该作者
回复 4# 昭襄王


    是说sed在别人电脑XP系统下无效了,都一样环境,sed也存在

另在perl脚本里,怎么写?是要读写文本文件的

论坛徽章:
0
6 [报告]
发表于 2010-12-17 14:49 |只看该作者
本帖最后由 haijunzeng 于 2010-12-17 14:51 编辑

算了,没人帮忙,参考论坛里某些代码,大致如下:
open(FH,"$dir/$out_lyr[$i]" || die "open error");
my @myfile=<FH>;
close(FH);
$myfile[4]="T01C2.00\n";
$myfile[5]="T02C2.00\n";
open(FH,">$dir/$out_lyr[$i]" || die "open error");
print FH @myfile;
close(FH);

其中变量$dir为输出路径;变量$out_lyr[$i]为钻孔层名;

上述代码实现了把第四和第五行分别替换为T01C2.00和T02C2.00

在本人电脑上,XP sp3 和ActivePerl 5.8.9 Build 827环境下通过

论坛徽章:
0
7 [报告]
发表于 2010-12-17 23:53 |只看该作者
Windows 下测试
  1. 23:49:36.85 >perl -ne "s|2\...|2.00|;print $.,':',$_" <r.txt
  2. 1:M48
  3. 2:METRIC,LZ
  4. 3:VER,1
  5. 4:FMAT,2
  6. 5:T1C2.00
  7. 6:T2C2.00
  8. 7:T3C0.95
  9. 8:T4C3.15
  10. 9:T5C0.60
  11. 10:T6C0.99
复制代码

论坛徽章:
0
8 [报告]
发表于 2010-12-19 21:01 |只看该作者
太小题大做了吧

vi
:1,$s/2.01/2.00/g
:1,$s/2.08/2.00/g

论坛徽章:
0
9 [报告]
发表于 2010-12-20 09:56 |只看该作者
楼主应该修改了/genesis/sys/hooks/ncd/out_file文件吧,把out_file文件中的钻嘴变量改为C{$TOOL_SIZE2[$i]}就可以了,如果是为了合刀则修改set_table文件更好一点。

论坛徽章:
0
10 [报告]
发表于 2010-12-23 11:53 |只看该作者
回复 8# meihuaqi


    是Genesis2000这个软件输出钻孔文件用的,就是不想用另外的工具改
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP