0

正規表現がまったく理解できません。START 文字列と END 文字列の間にある文字を一致させるにはどうすればよいですか。例えば

#START-EDIT

#ValueA=0

#ValueB=1

#END-EDIT

#START-EDIT と #END-EDIT の間の任意の # に一致させたい。

具体的には、sed を使用して、複数の START-EDIT セクションと END-EDIT セクションがある場合とない場合があるさまざまなファイルで、 # 一致する値を何も置き換えない (削除する) ことを望んでいます。

4

2 に答える 2

1
^#START-EDIT.*(#) *. *#END-EDIT$
于 2009-06-22T14:19:38.583 に答える
1

sed は行ベースです。正規表現に基づいて1行で簡単に検索、置換できます。しかし、複数行を検索/置換する本当に簡単な方法はありません。AWK でうまくいくかもしれません。

1行に正規表現がある場合、次のコマンドが探しているものになる可能性があります

sed -e "/^#START-EDIT.*#END-EDIT$//" myInput.txt
于 2009-06-22T14:29:39.233 に答える