2010-04-11 102 views
3

我有一個html文件,我想修剪。我想從開始一直到給定的字符串,從另一個字符串到結尾刪除一個部分。我該怎麼做,最好使用sed?多行修剪

回答

6

隨着GNU sed

sed '/mark1/,/mark2/d;/mark3/,$d' 

abc 
def 
mark1 
ghi 
jkl 
mno 
mark2 
pqr 
stu 
mark3 
vwx 
yz 

成爲

abc 
def 
pqr 
stu 
+0

會補充說它只能正確格式化(模式開始和結束在同一行!)html文件。 – 2010-04-11 20:52:47

+1

這是真的,通常應該使用一個強大的庫工具來操作html(還包括運氣和風向)。 – 2010-04-11 21:13:00

0

您可以使用AWK

$ cat file 
mark1 dsf 
abc 
def 
before mark2 after 
blah mark1 
ghi 
jkl 
mno 
wirds mark2 here 
pqr 
stu 
mark3 
vwx 
yz 

$ awk -vRS="mark2" '/mark1/{gsub("mark1.*","")}/mark3/{ gsub("mark3.*","");print;f=1 } !f ' file 

after 
blah 
here 
pqr 
stu