以下の POSIX BRE で説明されているパターンのファイルを見つけるには、GNU findコマンドを使用する必要があります。
"_[[:digit:]]*.txt"
(アンダースコアの後に任意の数字が続き、その後にピリオドが続き、その後に「txt」が続きます)
ターゲット ファイル名が単一のテキスト ファイルに入れられると、上記の RE でgrepを使用して、目的のファイルを正常に選択できます。ただし、--regextype posix-basic を使用した検索では、一致するものは見つかりません。
例えば:
$ touch 1.txt _2.txt _3_r.txt _3.txt 3.txt
$ for i in $(ls); do echo $i >> files.txt; done
$ grep "_[[:digit:]]*.txt" files.txt
_2.txt
_3.txt
$ find . -regextype posix-basic -regex "_[[:digit:]]*.txt"
$
grepとfindは POSIX BRE に対して異なる構文を持っていますか? RE を作成して対象のファイル名 (例では _2.txt と _3.txt) を選択するにはどうすればよいでしょうか。