kshコマンドラインの正規表現とパターン

kshコマンドラインの正規表現とパターン

正規表現文字列の使用とin a regex string*の違いが何であるかを知りたいです。.*

は「0〜n文字」を意味するようですが、それが何を意味するのか*理解していません。.*

例えば:と?"2013*11*27"の違いは何ですか?"2013.*11.*27"私が見ると

find . -name [pattern]

私が試したパターンは"2013.*11.*25"見つかりませんでした"2013-11-25"が、を使用して"2013*11*25"見つけました。

なぜ? Unixでのワイルドカードのゼロまたはnの発生は正規表現であり、*なぜ.*機能しないのですか?

ベストアンサー1

*代表する0個以上のランダム文字存在するシェルワイルドカードマッチ。

*代表する0回以上発生前の表現 存在する正規表現マッチ。

.代表する単一のランダム文字存在する正規表現マッチ。

したがって、*シェルのワイルドカード一致は.*正規表現の一致と同じです。

「2013*11*27」正規表現の一致一致"2013333111111111127"が一致しません。ただし、これを使用してファイルを検索する場合(たとえば、シェルが正規表現ではない)、「シェルワイルドカード一致」として処理する引数"2013-11-27"として使用するとうまくいきます。ls"2013-11-27"

* (あなたの場合、式はそれぞれ対応する文字3と正確に一致する単一文字です1。)

おすすめ記事