Pure bash solution:
$ filename='Some_randoM data1-A'
$ f=${filename//[^[:alnum:]]/}
$ echo "$f"
SomerandoMdata1A
$ echo "${f,,}"
somerandomdata1a
A function for this:
clean() {
local a=${1//[^[:alnum:]]/}
echo "${a,,}"
}
Try it:
$ clean "More Data0"
moredata0
Or try this:
hostname -s | sed "s/[^a-zA-Z]//g"
More info: www