Perl:从具有特定字符串的文本文件中删除多行

Pra*_*nks -2 perl

我有一个文本文件,其中包含下述格式的数据.

@rectype='ABC' @recname='123'   @rec_id='1K2j' etc...
@rectype='DEF' @recname='matin' @rec_id='458i' etc...
@rectype='ABC' @recname='John'  @rec_id='lom0' etc...
@rectype='GHI' @recname='Kalme, @rec_id='pl90' etc...
@rectype='KLM' @recname='Kitty' @rec_id='987k' etc...
@rectype='ABC' @recname='OMR'   @rec_id='lo09' etc...
Run Code Online (Sandbox Code Playgroud)

现在,我必须删除所有@ rectype ='ABC'的行.在输入文件中有这样的多行.这是一种紧急的,因为我不是一个perl编码器,我发现很难找出方法.

请建议!!!

注意:我只需要在输入文件中进行更改.我不需要创建一个单独的输出文件.

And*_*ter 5

您不需要在Perl中执行此操作.您可以使用该grep工具.

grep -v "@rectype='ABC'" input_file > output_file
Run Code Online (Sandbox Code Playgroud)

grep -v 表示"打印与此表达式不匹配的每一行".