# parse data and output simplified format. # usage: parse_simplify parse_simplify() { echo "${*}" | \ sed -e "s/ /_/g" \ -e "s/[^[:alnum:]_-]//g" \ -e "s/_\+/_/g" -e "s/-\+/-/g" \ -e "s/_-/_/g" -e "s/-_/_/g" \ -e "s/_\+/_/g" \ -e "s/^_//" -e "s/_$//" } # Parse to CamelCase. # Usage: parse_camel parse_camel() { local IFS=${IFS}_- local parts=($(parse_simplify ${1})) local result for part in "${parts[@]}"; do local word="${part^}" result="${result}${word}" done echo "${result}" } # parse data keeping only alphanumeric characters. # usage: parse_alnum parse_alnum() { echo "${*}" | \ sed -e "s/[^[:alnum:]]//g" }