自分用の使い捨てワンライナーを書くのであれば、
$ cat tmp.tex | sed -e $'s/\\\/\\\n/g' | sed -n -e 's/^usepackage{\([^}]*\)}/ \1.sty/gp' | sed -e 's/,/.sty /g' | xargs kpsewhich
/opt/local/share/texmf-texlive/tex/latex/graphics/graphicx.sty
/opt/local/share/texmf-texlive/tex/latex/l3packages/xparse/xparse.sty
/opt/local/share/texmf-texlive/tex/latex/l3kernel/l3regex.sty
/opt/local/share/texmf-texlive/tex/latex/tools/longtable.sty
/opt/local/share/texmf-texlive/tex/latex/tools/array.sty
/opt/local/share/texmf/tex/latex/pgf/frontendlayer/tikz.sty
/opt/local/share/texmf-texlive/tex/latex/graphics/color.sty
/opt/local/share/texmf-texlive/tex/latex/hyperref/hyperref.sty
かな
1行に複数のusepackageと1のusepackageの中に複数のstyがあるパターンに対応している
grep -oE を使ってもよし。