O benefício para encontrar é que é recursivo. Algumas shells modernas oferecem recursão de pesquisa, mas ela não está no padrão POSIX, então você não pode confiar nelas para trabalhar em qualquer lugar. Aqui está um exemplo que funciona no bash 4.0 e superior.
shopt -s globstar
for f in **/*.swp; do
rm -- "$f"
done
No que diz respeito ao comando find que você já possui, ele irá quebrar em quaisquer arquivos que contenham espaços em branco, como espaços. Aqui está um exemplo fixo:
find lib/ -name '*.swp' -exec rm {} +
Com algumas versões de find
, você pode usar -delete
:
find lib/ -name '*.swp' -delete