shellで文字列をワイルドカードでマッチングする方法は何ですか?
シェルでは、ワイルドカードを使って文字列の部分一致を表現できます。主要なワイルドカードとして、*(アスタリスク)と?(クエスチョンマーク)があります。
- どんな長さのどんな文字にもマッチする、前または後ろ、または中間部分を含む文字列を表します。
- ワイルドカードは1つの文字を表すために使用され、1つの文字を置き換えるために使用することができます。
以下はいくつかの例です:
- 任意の文字列でabcで始まるものをマッチングする:abc*
- abcで終わる任意の文字列に一致するもの:*abc
- *abc*を含む任意の文字列をマッチングします:*abc*
- aで始まり、cで終わる3文字の文字列:a?c
- 最初がaで終わりがcである4つの文字列をマッチングする:a??c
これらのワイルドカードを使用して、模糊一致を行うことができます。例えば、lsコマンドを使用する際には、ls *.txtを使って、現在のディレクトリ内の全ての.txtで終わるファイルをリストアップすることができます。