正規表現が一致しません。

正規表現が一致しません。

これはなぜ似合わない..?

sed -e '/--Updated?[[:space:]]+Date/d' inputfile

これ..:

--Updated Date: 2013-11-06 15:32:13

d?Update Date時には、時にはを持っているからですUpdated Date

除去のために?私もそれを試しましたが、うまく\sいきません。

ベストアンサー1

このパラメータを使用する必要があります-r。試してみてください

sed -r '/--Updated?[[:space:]]+Date/d' inputfile

回答の更新

を使用すると、sed '/something/d'それに一致するすべての行が削除されます。

-r -パラメータ-rは拡張正規表現を使用します。

式には2つの正規表現があります。

[[:space:]]- 改行文字を含むすべての空白文字と一致します。

? - optional

+- 1回以上。

したがって、sedコマンドは--updatedと1つ以上の空白文字と日付に一致するすべての行を削除しますが、dは?文字のためオプションです。良い:

--Updated Date: 2013-11-06 15:32:13
--Updated   Date: 2013-11-06 15:32:13
--Updated           Date: 2013-11-06 15:32:13
--Update Date: 2013-11-06 15:32:13

おすすめ記事