4

私はこのような行を持っています:

14:32:38,723[いくつかのテキスト]エラー-もう少しテキスト.....。

最初の「[」までのすべてを削除したい(ただし、含まない)(結果が[some text] .....で始まる行になるようにするため)

私の読書

's/^.*\d*\s//'

数字の後にスペースが続くすべてを置き換える必要があるということですが、行のどこにでも置き換えを適用しているように見えます。つまり、貪欲です。

私はもう試した:

's/^.*\s\[//g' 

しかし、それはその最初の「[」を取り除いています

必要なことを行うためにどちらかの式を変更するにはどうすればよいですか?どうもありがとう

4

2 に答える 2

3

次のsedコマンドを適用します

s/^[^[]*\[/\[/

[最初までのすべてを単一のに置き換えます[

$ echo "14:32:38,723 [some text] ERROR - some more" | sed 's/^[^[]*\[/\[/'
[some text] ERROR - some more text 
于 2012-05-25T15:51:46.863 に答える
2

これはあなたのために働くかもしれません:

sed 's/[^[]*//' file
于 2012-05-25T20:26:15.467 に答える