#!/bin/bash # Bash PROGNAME=$(basename $0) ren() { local newname newname=${1//-/_} [ "$1" != "$newname" ] && mv -- "$1" "$newname" } traverse() { local i cd -- "$1" || exit 1 for i in *; do [ -d "$i" ] && traverse "$i" ren "$i" done cd .. || exit 1 } function usage { echo -e "Usage: ${PROGNAME} " } # main program if [ $# -ne 1 ]; then usage exit 1 else shopt -s nullglob traverse fi exit $?