ファイル名の正規表現

ファイル名の正規表現とは

シェルのコマンドラインで、ファイル名を指定する時、 次のようなメタキャラクターが使用できる。

*
0文字以上の任意の文字列
?
任意の1文字
[...]
[]の中の1文字
ただし、アルファベット、数字の続いた部分は次のようにも表現できる
[a-e]
[abcde] と同じ
[1-5]
[12345] と同じ
[A-Za-z]
大文字、小文字を含んだアルファベット全部
{str1,str2,...}
str1,str2...中の文字列の一つ

上のメタキャラクターは組み合わせて使用できる。

# ls
a.out test1.c test2.c test1.vp test2.vp
tmp1.c tmp2.c tmp3.c
# ls *.c
test1.c test2.c tmp1.c tmp2.c tmp3.c
# ls ????.c
tmp1.c tmp2.c tmp3.c
# ls *[234].*
test2.c test2.vp tmp2.c tmp3.c
# ls *.{out,vp}
a.out test1.vp test2.vp

注意

ここで紹介しているのは、コマンドラインで使用する正規表現なので viなどのエディタや、sed, awkなどで使用する正規表現とは 使用方法が少し異なる。 ( * の使い方や、? が無くて代わりに . (ピリオド)を使用することなど)

参考


Home | Contents
Mail