Unix / Perl - 在模式之前删除文件的内容

时间:2012-07-04 09:15:36

标签: perl file unix

我有一个像这样的文件

### SECTION 1 ###
data data
data data
### SECTION 2 ###
data data 
data data

现在我希望删除第2节之前的所有内容。

我如何在Perl或Unix中执行此操作?

3 个答案:

答案 0 :(得分:6)

就地编辑文件:

perl -i -ne 'print if /SECTION 2/..0' file

答案 1 :(得分:0)

perl -ne '$m = 1 if $_ =~ /SECTION 2/ ; next unless $m ; print $_;' filename > newfilename

答案 2 :(得分:0)

$ perl -pi -e '$_ = "" unless /SECTION 2/ .. /(*FAIL)/' file