Para correspondências recursivas, a ferramenta certa geralmente é find
. Como você deseja corresponder todos os arquivos no diretório atual e em seus subdiretórios recursivamente, mas apenas até uma determinada profundidade, especifique -maxdepth
. Isso não está em POSIX , mas existe em todos os atuais * BSD e no GNU find (Linux , Cygwin) e no Busybox (Linux embarcado), então é uma aposta segura que você o tenha. -exec … {} +
é uma adição relativamente recente ao POSIX, mas já existe no GNU e no FreeBSD / NetBSD / OSX há algum tempo.
cd /srv/hg && find . -type d -maxdepth 3 -exec /usr/local/bin/hg-ssh {} +
(Adicionei -type d
porque parece que você deseja corresponder apenas aos diretórios, mesmo que sua tentativa com * */*
etc. corresponda a arquivos de todos os tipos.)