1.txt, 2.txt, 3.txt, ...
のように連番のファイルがあった時に、ファイル名が特定の条件(たとえば偶数)になっているものだけを処理したいということがあって簡単に調べたのでメモ
偶数奇数の場合には数値の最後の文字だけを見れば偶数か奇数かは判定できる
どうやれば簡単なのかよくわからなかったが適当に検索で調べてこんな感じにした
もっと簡単にできる方法があったらコメントなどで教えていただけると嬉しいです
find版
find
コマンドでファイル名に末尾の文字を指定して引っかかったのだけを処理する
find . -name '*[13579].txt' -exec echo {} \;
for版
for
のin
の後に./*[02468].txt
みたいに指定したらマッチするファイルがなにもないときに展開されずに残念な感じになったのでif
でフィルタする感じにしてみた
for file in ./*.txt; do if [[ $file == *[02468].txt ]]; then echo $file fi done
for file in ./*[02468].txt; do if [ -f $file ]; then echo $file fi done