linuxのワイルドカードを使用する機会がある方いらっしゃるのではないでしょうか。
本記事では、linux ワイルドカードの使い方について詳しく解説しています。
linux ワイルドカードの意味・使い方を知りたい方はぜひ、参考にしてみてください。
目次
ワイルドカードと正規表現
ワイルドカードと正規表現は少し似ている部分があるため、使い方を間違えることもよくあります。
まず、ワイルドカードと正規表現の違いについて解説していきます。
ワイルドカードとは
ワイルドカードは、主にシェルや一部コマンド・アプリケーションで使われます。
代表的なワイルドカードは、*(アスタリスク)で任意の文字列のことを表します。
ワイルドカードは以下のようになります。
ワイルドカード | 説明 |
* | 任意の0文字以上の文字列 |
? | 任意の1文字 |
[ ] | カッコ内のいずれかの文字 例 [123]…1か2か3のどれか [0-9]…0から9の間のどれかの数字 [!abc]…aでもbでもcでもない任意の文字 |
{ , } | カンマで区切られた文字列のいずれか |
ワイルドカードと正規表現の違い
正規表現とは、様々なコマンド・アプリケーションで使われる汎用的な表現方法です。
正規表現は、ワイルドカードと違ってシェルでは正規表現を使うことができません。
正規表現とワイルドカードの違いは以下になります。
正規表現 | ワイルドカード | 意味 |
.* | * | 任意の0文字以上の文字列 |
. | ? | 任意の1文字 |
[ ] | [ ] | カッコ内のいずれかの文字 |
[^ ] | [! ] | カッコ内以外のいずれかの文字 |
{|} | { , } | 区切り文字で区切られた文字列のいずれか |
linux ワイルドカードの使い方
linuxでのワイルドカードの使い方を実際のコマンドを用いて解説していきます。
linuxでワイルドカードを使用する方はぜひ、参考にしてみてください。
*…任意の0文字以上の文字列
任意の0文字以上の文字列を表示したい場合に*を使用します。
例えば、/tmp配下のtから始まるファイルをlsコマンドで表示したい場合には、以下のようなコマンドを使用します。
?…任意の1文字
任意の1文字の文字を表示したい場合に?を使用します。
例えば、/tmp配下のtestファイルをlsコマンドで表示したい場合には、以下のようなコマンドを使用します。
[ ]…カッコ内のいずれかの文字
カッコ内のいずれかの文字を表示したい場合に[ ]を使用します。
[ ]の使用方法は大きく4つあるため4つの分けて説明していきます。[123]…1か2か3のどれか
[ ]内に任意の文字を入れることで文字のどれかを表示することができます。
例えば、/tmp配下のtest1,test2,test3ファイルをlsコマンドで表示したい場合には以下のようなコマンドを使用します。
[0-9]…0から9の間のどれかの数字
カッコ内の連続している複数の文字を表示したい場合に[-]を使用します。
例えば、/tmp配下のtest0からtest9までの数字のファイルをlsコマンドで表示したい場合には以下のようなコマンドを使用します。
[!abc]…aでもbでもcでもない任意の文字
カッコ内で選択している文字以外を表示したい場合に[!]使用します。
例えば、/tmp配下のaest,best,cestファイル以外をlsコマンドで現したい場合は以下のようになります。
{ , }カンマで区切られた文字列のいずれか
{}のカンマで区切られた文字列を表示したい場合に{ , }を使用します。
例えば、/tmp配下のtest及びbestファイルをlsコマンドで表示したい場合には以下のようなコマンドになります。
まとめ
いかがでしたか。
本記事では、linuxワイルドカードについて詳しく解説しました。
linuxワイルドカードについて詳しく知りたい方はぜひ、参考にしてみてください。
・ワイルドカードと正規表現の違い
・linux ワイルドカードの使い方