この式が日付の後にスペースを見つけられないのはなぜですか?

この式が日付の後にスペースを見つけられないのはなぜですか?

式を使用して、sed00/00/0000 形式と空白の数に関係なく、日付に一致する式を検索し、文字 h に置き換えます。私はこう言いました。

sed -E 's/[[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9][0-9][0-9][[:space:]]]/h/g' dates-input.txt

しかし、うまくいきません。

ベストアンサー1

ここにはいくつかの質問があります。

  • /式のスラッシュ()はエスケープする必要があります。

  • 最も外側の括弧は括弧として使用するか、完全に省略する必要があります。

  • 空白を許可して置き換えるには、式ではなく[[:space:]]*なければなりません[[:space:]]

この試み:

's/[0-9][0-9]\/[0-9][0-9]\/[0-9][0-9][0-9][0-9][[:space:]]*/h/g'

おすすめ記事