Perl 删除结尾的字符串 10

例如.V文件中有个触发器例化代码,DFFU0(.a(a).b(b)DQDQN)只删除DFF中的DQN,其他的不删除,还有DFF这个例化块括号里的内容可能不在一行,例如DF... 例如.V文件中有个触发器例化代码,
DFF U0(.a(a) .b(b) DQ DQN )
只删除DFF中的DQN,其他的不删除,还有DFF这个例化块括号里的内容可能不在一行,
例如
DFF U0(.a(a)
.b(b)
DQ
DQN)
该怎么用Perl 删除最后的DQN
展开
 我来答
百度网友c9e795dda
2016-11-10 · TA获得超过5167个赞
知道大有可为答主
回答量:1128
采纳率:0%
帮助的人:1150万
展开全部
  1. 你是只要删除 "DQN" , 还是删除 ) 前的最後一个没空格的字串 ? (如果是前者, 你用文字编辑器直接搜寻取代不就好了吗? )

  2. 你那个括号到底是 '('还是 '(' [全半型之别]

更多追问追答
追问
是DQN,但是它和DFF可能不在最后一行,你懂Verilog就知道器件例化可以换行,反正就是删除DQN,其他不动,而且有上万个这样的文件需要同样处理,还需要通过打开文件列表.f文件来读入每个.v文件处理
追答

抱歉, 我只会 perl , 所以如果要追问的话, 您最好能针对文字的操作做更多的描述. 我先写一个这样的 script 给您, 看看能用得上不 :

$| = 1;
use strict; 
use File::Slurp; # 可能要自己下一个
use File::Basename;

my $outputDir = "./"; # 输出时的位置, 千万别跟来源在同一个 dir 下

my @fileList = ( ... ) ; # 自己弄个档案清单吧!
foreach my $file ( @fileList ) {
    print "Processing $file...";
    my $content = read_file ( $file ) ;
    $content =~ s/DQN//mg;
    my ($fileName) = fileparse($file);
    write_file ( "$outputDir/$fileName" => $content );
    print "Done!$/"
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式