掲題のようなことがあったので備忘。正規表現検索にはegrepを使用。
やりたいこと、やったこと
ファイル名に連番を含むファイル群から、特定の範囲の数値を含む(001~020)ファイル名のみを絞り込みたい。
# test_001~test_030.txtのファイルを作成 hoge@localhost:~/regx_text $ touch test_{001..030}.txt hoge@localhost:~/regx_text $ ls -al 合計 8 drwxr-xr-x 2 pi pi 4096 6月 16 22:49 . drwxr-xr-x 44 pi pi 4096 6月 16 22:48 .. -rw-r--r-- 1 pi pi 0 6月 16 22:49 test_001.txt -rw-r--r-- 1 pi pi 0 6月 16 22:49 test_002.txt ...(中略) -rw-r--r-- 1 pi pi 0 6月 16 22:49 test_029.txt -rw-r--r-- 1 pi pi 0 6月 16 22:49 test_030.txt # test_001~test_020.txt のみ絞り込み hoge@localhost:~/regx_text $ ls | egrep test_0'0[1-9]|1[0-9]|2[0]'.txt # 000~019であれば、test_0'[0-1][0-9]'.txtとすればよかったが、001始まりにつき、2桁目ごとに場合分けした test_001.txt test_002.txt ...(中略) test_019.txt test_020.txt # 本当に20件か確認 hoge@localhost:~/regx_text $ ls | egrep test_0'0[1-9]|1[0-9]|2[0]'.txt | wc -l 20