#!/bin/sh
# url: http://pank.org/scripts/
# description: generate ASCII code according to range
# comment: csh bash
# platform: all

ascii () {
    for ((N=$1;N<=$2;N++))
    do
        printf "\x`printf '%X\n' $N`\n"
    done
}

case $1 in
    0-9)
        ascii 48 57
        echo
        ;;
    A-Z)
        ascii 65 90
        echo 
        ;;
    a-z)
        ascii 97 122
        echo
        ;;
    0-9A-Z)
        ascii 48 57
        ascii 65 90
        echo
        ;;
    0-9a-z)
        ascii 48 57
        ascii 97 122
        echo
        ;;
    0-9A-Za-z)
        ascii 48 57
        ascii 65 90
        ascii 97 122
        echo
        ;;
    *)
        if [ -z $2 ] ; then
            echo "Usage: `basename $0` {0-9|A-Z|a-z|0-9A-Z|0-9a-z|0-9A-Za-z}"
            echo "       `basename $0` {from} {to}"
        else
            ascii $1 $2
            echo
        fi
        ;;
esac