2017-10-26 7 views
1

sedを使ってログファイルの各行から日時部分を削除しようとしています。 ログファイルの例:Sedを使って行の最初の部分を削除する

2017-10-26 09:58:57: {..1.} 
2017-10-26 09:58:58: {..2.} 

しかし、これは:

cat log.log | sed "s/^.+?(?={)//g" 

は削除日付の部分とではなく、あるとしてラインが印刷され、動作しません。

+1

を参照してください、あなたはまた、 'これも動作します '「-dカット-f3- log.log' – Sundeep

+0

使用することができ、感謝! – iss42

答えて

1

あなたはsedのパターンで先読み(あなたのパターンで(?={))と怠惰な量指定子(+?)を使用することはできません。

使用^[^{]*マッチライン(^)と{より0個以上の文字の他、次に[^{]*マッチの開始

sed 's/^[^{]*//' 

が与えられたサンプルのためonline demo

関連する問題