findコマンドでパスを検索する(ディレクトリも含めて検索する)
ド初心者かよ、という話。(普段からシェル慣れしている人なら、当たり前に知っていそうな話)
あまりそのようなシチュエーションもないかもしれませんが、弊研究室は、卒論発表のスライド資料を全員共通のGitリポジトリで管理しています。
ディレクトリ構成は(user name)/卒論/(ユーザー名).pptx
みたいな感じになっています。(実際とは少し違うけどだいたいこういう感じ)
これをうまいことスライドだけ集めて発表用PCにコピーしたいという話。
-name
オプションはファイル名に合致するものしか検索できないので、どうしたものかと思っていたら-path
というオプションがあるみたいです。(-wholename
でも同じ)
というわけで、
$ find -path "*/卒論/*.pptx" -exec cp {} ./slides +
みたいにすることで、うまくいきました。めでたしめでたし。というわけで、これから卒論発表してきます😀
ちなみに、findのexecでハマったところ↓