2000-11-09 悪魔の公開メール
bash ならブレース展開が使えるので‘ls *.{c,h,cpp}
’でしょう。ブレース展開できないシェルでは,無理に一つのパターンでマッチングさせようとするのではなくて,処理を二段階に分けると話が簡単になります。egrep なら‘ls -1 | egrep -e "\.(c|h|cpp)$"
’,grep なら‘ls -1 | grep -e \.c$ -e \.h$ -e \.cpp$’
,sed(ストリームエディタ)なら‘ls -1 | sed -n -e /\.c$/p;/\.h$/p;/\.cpp$/p’
です。(適当に挙げただけなので,本当は動かないかもしれません。それに普段私が使っているシェルは,Bourneシェルでも Cシェルでもありません。cmd.exe です。シェルによってメタ文字の種類や引用符の意味が違うので気をつけましょう。)
分からないことがあったら,一先ずMS-Officeのイルカに尋ねてみるとよいでしょう。私はいつもそうしています。「シラネーヨ」に尋ねてみても,彼は「シラネー」としか答えません。
【追記 9 NOV 2000 18:03】 その後よく考えてみたら,‘ls [-1] *.c *.h *.cpp
’とか‘dir [/b] *.c *.h *.cpp
’だけでいいみたい。いやはや,ヨコ漏れしてしまいました。