免费注册 查看新帖 |

Chinaunix

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

关键字在另一个文件是否出现类问题求教 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-04-04 14:40 |只看该作者 |倒序浏览
大侠们,文件A中的内容在文件B没有,则输出;在文件B中有,则丢弃。
例如:A.txt:
nmos
ldnmos
bjt
DIODE

B.txt:
.SUBCKT ldnmos D G S B
MM1 A B C D
XX bjt 101 102 103

输出结果C.txt:
nmos
DIODE
我的script一直出错,请大虾们指导:
  1. #!/user/bin/perl
  2. use strict;
  3. use warnings;
  4. open (IN1, "< A.txt");
  5. open (IN2, "< B.txt");
  6. open (IN3, ">> C.txt");
  7. my $name1=<IN1>;
  8. for(<IN2>)
  9. {
  10.   if ($name1=~ m/^\s*$_\s*$)
  11.   print IN3 "$name1\n";
  12. }
  13. close IN1;
  14. close IN2;
  15. close IN3;
复制代码

论坛徽章:
0
2 [报告]
发表于 2014-04-04 14:50 |只看该作者
我的script一直出错,请大虾们指导:
  1. #!/user/bin/perl
  2. use strict;
  3. use warnings;
  4. open (IN1, "< A.txt");
  5. open (IN2, "< B.txt");
  6. open (IN3, ">> C.txt");
  7. my $name1;
  8. my @name2 = <IN2>;
  9. for(<IN1>)
  10. {
  11.   if ($name1=~ m/^\s*@name2\s*$)
  12.   print IN3 "$name1\n";
  13. }
  14. close IN1;
  15. close IN2;
  16. close IN3;
复制代码

论坛徽章:
0
3 [报告]
发表于 2014-04-04 15:04 |只看该作者
  1. open my $A, '<', 'A.txt';
  2. open my $B, '<', 'B.txt';
  3. open my $C, '>', 'C.txt';

  4. my %B = map { map { $_, 1 } split } <$B>;

  5. while (<$A>) {
  6.     chomp;
  7.     print $C "$_\n" unless $B{$_};
  8. }
复制代码

论坛徽章:
0
4 [报告]
发表于 2014-04-04 15:30 |只看该作者
回复 3# cinanine
Great!:wink: 果然可以,大侠,赞一个。


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP