ls
、、cp
などの多くの bash ユーティリティが正規表現とパターン マッチングを使用していることに気づきましたmv
。grep
たとえば、* [] {} などの記号です。
しかし、これはインターネットで見つけた他の正規表現チュートリアルとはいくつかの点で異なっていると思います。これらのユーティリティが従う特定の標準、または包括的なショートカットのリストはどこかにありますか?
ありがとう
答え1
似ていますが、あなたが言及しているワイルドカードパターンは正規表現ではありません。グロブパターンそしてこの文脈では、貝殻模様これらはシェル自体によって展開されます。、などのコマンドによって展開されるわけではありません。ls
念cp
のため言っておきますが、これらのコマンドは実際には「bashユーティリティ」ではなく、どれでもシェル。
シェルにコマンドを入力すると、シェルはトークン(単語)を解析し、その中の1つとして展開を行います。グロブパターン適切なファイル名に変換されます。最も一般的なケースでは、これらのファイル名は、呼び出されるコマンドの引数のリストとしてシェルによって提供されます。
標準化
これらのシェルパターンは、Unix系オペレーティングシステム向けに標準化されており、POSIX 仕様:パターンマッチング表記。
いくつかのシェル(BashやKornシェル)はさらに進んでこれらのパターンを拡張し、拡張グロブ詳細については、グレッグのウィキ。