0

したがって、次のようなsedコマンドがあります。

sed -n "/DXImageTransform.Microsoft.AlphaImageLoader(src='/,/',sizingMethod='crop');/p"
/Users/ME/Documents/weather/yahooWeather.html > /Users/ME/Documents/weather/out.txt

そして、必要な HTML をファイルから正しく取得しますが、検索に使用した文字列がまだ残っています (つまり、"DXImageTransform.Microsoft.AlphaImageLoader(src='" & "',sizingMethod='crop') ;" ファイルの最初と最後にあります。この 2 つの文字列を削除したいのですが、コマンドを変更するにはどうすればよいですか?

4

1 に答える 1

2

これはうまくいくはずです:

sed -n -e "1,/START/d" -e "/END/,$d" -e p file.html

-eオプションを使用して 3 つのコマンドを分けましたが、 ;.

そして、これは彼らがすることです:

  • 1,/START/d-- ファイルの最初の行からパターンに一致する行までの範囲を削除します。/START/
  • /END/,$d-- パターンに一致する行からファイルの末尾までの範囲を削除します。
  • p-- 行を出力します (これらは前のパターンと一致しない行です)

アップデート

パターンが最初の行にある場合、上記は機能しません。GNUsedを使用すると、次のように修正できます。

sed -n -e "0,/START/d" -e "/END/,$d" -e p file.html

残念ながら、これは BSD では動作しませんsed

于 2013-04-06T18:49:43.127 に答える