1

これは以前のどこかに書かれていると確信しています... sedを使用して、文字列をより大きな文字列内にある次の形式に置き換えようとしています:

EFF=<some text>;

文字列は常に「EFF=」で始まり、「;」で終わります。

私は次のことを試しましたが、どういうわけかそれは想定よりもはるかに多くを削除します(この特定のセクションを削除するだけでなく、より大きな文字列の最後の「;」まで削除します)ので、できるかどうかわかりません私のコマンドでより具体的に:

sed -i 's/EFF=.*;//g'

より大きな文字列の例:

<some text>;EFF=<some text>;<some text>;<some text>; 

「一部のテキスト」は同一ではありません

4

1 に答える 1

4

*貪欲な場合、可能な限り長い文字列に一致します。試合から除外する必要があります;

sed -i 's/EFF=[^;]*;//g' filename
于 2013-10-15T19:58:50.403 に答える