Como parece que você está executando tar , provavelmente a melhor maneira é:
basedir=$1
for dir in "$basedir"/*; do
if test -d "$dir"; then
tar -cvf "$dir".tar "$dir"
rm -r "$dir"
fi
done
Se você quiser usar find , você deve adicionar -maxdepth 1 , para evitar a criação de arquivos extras.
basedir=$1
for dir in $(find "$basedir" -mindepth 1 -maxdepth 1 -type d); do
tar -cvf "$dir.tar" "$dir"
rm -r "$dir"
done
Observe também que, em tar -cvf , o nome do arquivo de saída vem primeiro (logo após o f ).