0

我想删除文本文件中包含“脚本”一词的每一行,然后将剩下的任何内容写入另一个文件。但保留原始文件。

像这样:

打开文件删除任何带有“脚本”一词的行,然后将删除后剩下的内容输出到另一个文件。

4

2 回答 2

8
perl -ne '/script/ or print' file > newfile
于 2013-09-12T16:45:41.267 回答
1
grep -v script original.file > new.file

或者如果你真的需要 perl:

#!/usr/bin/perl

use strict;
use warnings;

open(my $in, '<', 'input.txt')
    or die "Cannot open input.txt: $!";

open(my $out, '>', 'output.txt')
    or die "Cannot open output.txt: $!";

while (<$in>) {
  print $out $_ unless /script/;
}

close($in);
close($out);

最后,如果您只想匹配“script”,如果它是一个单词(而不是像“prescription”或“scripting”这样的更大字符串的一部分),那么请更改:

/script/

至:

/\bscript\b/
于 2013-09-12T16:35:03.277 回答