2012-07-04 24 views
-2

之前刪除文件的內容我有這樣的Unix/Perl的 - 模式

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

文件現在我想要的一切之前部分被刪除2

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

回答

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

完美...謝謝 – AnonGeek

+1

對於它的價值,明確使用'$ _'往往是多餘的(而且難以閱讀, 恕我直言)。 '$ m = 1 if/SECTION 2 /;除非$ m; print;'在語義上與這個答案相同。謝謝... – pilcrow

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

編輯就地文件:

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

這是更好的解決方案 – AnonGeek