########################################################################### # atou / utoa (AppleToUnix & UnixToApple) # # Author: Evan Ron Aussenberg # erast1@unix.cis.pitt.edu # IN%"erast1@pittunix" # # Version 1.1 # February 13, 1991 # - Added standard output support # # December 15, 1990 - Evan Ron Aussenberg # - Initial release # # Description: # An Apple-to-Unix and Unix-to-Apple text file converter. This is # a Unix shell script. If you don't use Unix then you don't need # this (Well... maybe you do, but you can't use it). # # Disclaimer: # Your mileage may differ. Also, this is just a little nicer # than making a t/csh alias... and it should run from any shell # as long as you leave the ':' in the 1st line. Okay? Okay. # # To run this shell script you need : # 1: The unix command "basename" | Just make sure these programs can # 2: The unix command "tr" | be found in your $PATH environ. # 3: Save this program as "utoa" # 4: Type "chmod a+x utoa" # 5: Type "ln utoa atou" | If you don't have the command # | "ln" or "link" then use "cp" # # Syntax: # atou [ -v | V ] [ -c ] file1 files2... # utoa [ -v | V ] [ -c ] file1 files2... # # Options (specifiy only one): # -c Standard output is used instead of saving the converted file. # -v Give terse output. Normally no output is given. # -V Give verbose output # # Note: Both "-v" and "-V" are ignored if "-c" is specified. # ########################################################################### version=1.1 command=`basename $0` # What command has called us here? verbose='0' # Verbose off std='0' # Standard output off case $command in utoa) oct1="'\012'" # This is control-j octal oct2="'\015'";; # This is control-m octal atou) oct1="'\015'" # This is control-m octal oct2="'\012'";; # This is control-j octal *) echo "Hey, please name this program utoa and/or atou" exit 1; esac # Check any options. # I don't use "getopt[s]" ####################### case $1 in -v ) verbose=1 ; shift ;; -V ) verbose=2 ; shift ;; * ) ;; esac case $1 in -c ) std=1 ; shift ;; * ) ;; esac # Check to make sure some files were specified ############################################## if [ $# -gt 0 ] ; then for file in $* ; do if [ -f $file ] ; then if [ $std = 0 ] ; then case $verbose in 1)echo -n $command': '$file'... ';; 2)echo -n $command': Saving '$file' to '$command.$$'... ';; *);; esac cat $file | tr $oct1 $oct2 > $command.$$ if [ $verbose -gt 0 ] ; then echo 'done.' if [ $verbose = 2 ] ; then echo $command': Moving '$command.$$' to '$file echo fi fi mv $command.$$ $file else cat $file | tr $oct1 $oct2 fi else echo $command": Can't find file "$file"... skipping" fi done else echo -n ' '$command', version '$version' Syntax error: no filename specified atou [ -v | V ] [-c] file1 files2... utoa [ -v | V ] [-c] file1 files2... ' exit 1 fi echo exit 0