2017-03-23 11 views
0

私はテキストファイルを編集しています(私の場合はJMeter XMLです)、私はedを使ってXMLの1行目と最後の行をマークしますセクション。ed行エディタを使用して2つの検索一致の間の行を削除する方法

2つの検索一致の間の行を削除するにはどうすればよいですか?

例ファイル:

1 <hashTree> 
2 <ConstantTimer guiclass="ConstantTimerGui" testclass="ConstantTimer" testname="Constant Timer" enabled="true"> 
3 <stringProp name="ConstantTimer.delay">300</stringProp> 
4 </ConstantTimer> 
6 </hashTree> 

と私は含まライン2-4を削除したいです。

答えて

2

を使用して、2つのマークの間、削除を行う行をマークすることができ、そして、次の行で始まり、その後終了タグを楽しみに検索し、後方に移動するために-を使用し、その結果のコンテンツを削除するために+を使用します。

g/<hashTree>/+,/<\/hashTree>/-d 

これは、すべての<hashTree> BLOを想定していることに注意してくださいckの内容はです。削除する内容はです。空のブロックがある場合は、必要以上に多くのコンテンツを削除する可能性があります。

0

あなたは、あなたがそれらのすべてをしたい場合は、スタートを見つけるためにgコマンドを使用することができます見つけて、次のコード

1     <---- Jump to line 1 
/ConstantTimer  <---- Search for the first 'ConstantTimer' 
kx     <---- Mark it as 'x' 
/ConstantTimer  <---- Search for the second 'ConstantTimer' 
ky     <---- Mark it as 'y' 
'x,'yd    <---- delete between the two marks 'x and 'y 
w     <---- save the changes 
q     <---- quit ed 
関連する問題