シェルで階層ごと特定のファイルをコピー

/usr/local/
          aaa/
              ccc.log
              ddd.txt
          bbb/
              ccc.log
       eee.txt

からccc.logだけを抜き出したい!つまり、こんな感じにしたい。

~/logs/
       aaa/
           ccc.log
    bbb/
           ccc.log

そんなとき用の自分なりの解。忘れないようにメモ。

mkdir ~/logs
cd /usr/local
for d in `ls -p | grep /`; do
mkdir ~/logs/$d
cp $dccc.log ~/logs/$d
done

"ls -p | grep /"でディレクトリだけ抽出できるので、あとは毎ディレクトリごとに作成とコピーを繰り返す。もっとシンプルなやり方ないかなぁ。