teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

補足

2016/05/25 06:39

投稿

otn
otn

スコア86365

answer CHANGED
@@ -4,4 +4,20 @@
4
4
 
5
5
  シェルがファイル名を展開する際に解釈するワイルドカードは、`?`が任意の1文字、`*`が任意の0文字以上、`[a-z]`が文字クラスなど、正規表現と同じ部分も有り異なる部分もあります。
6
6
 
7
- 誤解を避けるためには「ワイルドカード」という言葉を一切使わないというのが良いかと思います。
7
+ 誤解を避けるためには「ワイルドカード」という言葉を一切使わないというのが良いかと思います。
8
+
9
+ 追記:
10
+ 説明が足りず、誤解を招く事もあるようなので、整理して書き直します。
11
+
12
+ #ワイルドカードとは
13
+ 由来:
14
+ トランプのいくつかのゲームでのジョーカーのようにどのカードの代わりにもなる機能
15
+ (ゲームによっては、ジョーカーがそういう機能を持っていないし、ジョーカー以外がワイルドカード機能を持つこともある)
16
+
17
+ 由来に沿った意味:
18
+ 正規表現の`.`、シェルのパス名展開の`*` `?`、SQLのLIKEの`%` `_`のように(一部例外はあるが)どの文字にもマッチする記号のこと。
19
+
20
+ よく使われいている意味:
21
+ シェルのパス名展開の`*` `?`の意味を含んだような、パターンマッチングのための記法。
22
+ シェル以外でも、`*` `?`の意味が共通であれば、その記法がワイルドカードと呼ばれることがある。
23
+ Bashのパス名展開だとこのほかに`[ ]`や`{ }`を使った指定方法もあるし、その記法はパス名展開以外の場所たとえばcase文や、変数展開時の修飾などでも使われている。