CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
前回は、echoやプロンプトなどで使用できるエスケープシーケンスについて説明しました。今回は、コマンドラインで使用するワイルドカードについて説明します。
今までもコマンドを使用する場合には、コマンド・オプションとともにファイル名を使用したと思います。ワイルドカードは特殊な文字列を使用します。これは正規表現に似ていますが、非なるものです。
「」は任意の0以上の文字列にマッチするワイルドカード文字です。正規表現で言うところの「.\」に相当します。この文字は以下のように使用します。
ワイルドカード文字列 | 適用範囲 |
---|---|
* | カレントディレクトリ以下のすべてのファイル |
*.txt | カレントディレクトリ以下の、末尾が 「.txt 」のファイル |
abc* | カレントディレクトリ以下の、先頭が「abc」のファイル |
*def*.txt | カレントディレクトリ以下の、ファイル名中に「def」が含まれ、末尾が「.txt」のファイル |
*/*.txt | カレントディレクトリ以下のすべてのディレクトリ以下の、末尾が「.txt」のファイル |
/etc/*.conf | /etc ディレクトリ以下の、末尾が「.conf」のファイル |
「?」は任意の1文字にマッチするワイルドカード文字です。正規表現で言うところの「.」に相当します。この文字は以下のように使用します。
ワイルドカード文字列 | 適用範囲 |
---|---|
? | カレントディレクトリ以下の1文字のファイル |
??? | カレントディレクトリ以下の3文字のファイル |
a???bb | カレントディレクトリ以下の、aで始まり任意の3文字と末尾がbbのファイル |
/etc/???.conf | /etcディレクトリ以下の、任意の3文字で始まり、末尾が「.conf」のファイル |
「[文字列]」は、「[]」で区切った1文字以上の文字列にマッチするワイルドカード表現です。正規表現の「[]」と同じ機能で、「-」などの文字範囲も使用可能です。
ワイルドカード文字列 | 適用範囲 |
---|---|
[a]* | カレントディレクトリ以下の「a」で始まるファイル |
[adz]* | カレントディレクトリ以下の「a」・「d」・「z」で始まるファイル |
[a-z]* | カレントディレクトリ以下の「a」~「z」で始まるファイル |
/etc/rc3.d/S[0-9][0-9]* | /etc/rc3.dディレクトリ以下の「S」+「0」~「9」2文字で始まるファイル |
「[^文字列]」は「[文字列]」とは逆に、「[^]」で囲まれた1文字以上の文字列にマッチしないワイルドカード表現です。POSIX正規表現でも同じことが可能です。
ワイルドカード文字列 | 適用範囲 |
---|---|
[^a]* | カレントディレクトリ以下の先頭が「a」以外で始まるファイル |
[^0-9]*.txt | カレントディレクトリ以下の、先頭が数字以外で始まり末尾が「.txt」のファイル |
.[^.]* | 「.」「..」以外の「.」で始まるファイル |
/usr/lib/[^A-Zl]* | /usr/lib ディレクトリ以下の先頭が大文字英字もしくは「l」以外で始まるファイル |
「{XXX,YYY}」は、「{}」でくくられた文字列内の「,」で区切られた文字「XXX」もしくは「YYY」にマッチします。「,」で区切る文字列は2以上の任意の数が可能です。この表現は、POSIX拡張正規表現でも可能です。
ワイルドカード文字列 | 適用範囲 |
---|---|
{XXX,YYY,ZZZ}.txt | カレントディレクトリ以下の「XXX.txt」「YYY.txt」「ZZZ.txt」 |
/usr/bin/{ls,ps}* | /usr/bin ディレクトリ以下の、「ls」か「ps」で始まるファイル |
「\」(エスケープ文字)は、上記のワイルドカード文字をそのまま表示するための文字です。「\」とすることで、「\」そのものにマッチします。
ワイルドカード文字列 | 適用範囲 |
---|---|
[\^abc].txt | カレントディレクトリ以下の先頭が「^」「a」「b」「c」で始まるファイル |
{abc,def}\{ghi\}.txt | カレントディレクトリ以下の「abc{ghi}.txt」「def{ghi}.txt」 |
「」単体では、ユーザのホームディレクトリを指定する文字列です。「ユーザ名」では、ユーザ名で指定したユーザのホームディレクトを指定します。
今回はワイルドカードについて説明しました。ワイルドカードは複数の表現を組み合わせて複雑なファイル指定も可能です。いろいろ試してみて下さい。次回は、キーバインドについて説明しようと思います。次回をお楽しみに。
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes