2


トピックのように、丸括弧内のすべてをスター*に置き換える必要があります。。
正規表現についてたくさん読んだことがありますが、この場合、丸括弧は特別
で、私は怒っています。
このようなテキストが届きました

550 OU-001 (BAY0-MC2-F14) Unfortunately messages from xxx.xxx.xxx.xx 

だから

550 OU-001 (*) Unfortunately messages from xxx.xxx.xxx.xx 

私はこれを試しました

sed -e 's/\(([)]*\)/*/' file

ただし、この方法では、開いたブラケットのみを交換してください。

550 OU-001 *BAY0-MC2-F14) Unfortunately messages from xxx.xxx.xxx.x

誰かが私を助けて解決策を説明してもらえますか?

乾杯

4

4 に答える 4

2

このsedは機能するはずです:

sed 's/([^)]*)/(*)/g'
于 2013-03-26T14:08:14.070 に答える
2

これは役に立ちますか?

sed 's/([^)]*/(*/g' file

あなたの入力で

kent$  echo "550 OU-001 (BAY0-MC2-F14) Unfortunately messages from xxx.xxx.xxx.xx"|sed  's/([^)]*/(*/g'
550 OU-001 (*) Unfortunately messages from xxx.xxx.xxx.xx
于 2013-03-26T14:09:40.397 に答える
1

このsedコマンドを試してください-:

 sed 's/(.*)/(\*)/' file
于 2013-03-26T14:09:18.253 に答える
0

このsedは動作します:

sed 's/([^)]*)/(*)/g

変身します

foo (bar) baz (foobar) end

foo (*) baz (*) end
于 2013-03-26T14:12:36.933 に答える