By tradition, a book of this sort has an ASCII Table appendix. This book does not. Instead, here is a short shell script that generates a complete ASCII table and writes it to the file ASCII.txt.
Example S-1. A script that generates an ASCII table
1 #!/bin/bash
2 # ascii.sh
3 # ver. 0.2, reldate 26 Aug 2008
4 # Patched by ABS Guide author.
5
6 # Original script by Sebastian Arming.
7 # Used with permission (thanks!).
8
9 exec >ASCII.txt # Save stdout to file,
10 #+ as in the example scripts
11 #+ reassign-stdout.sh and upperconv.sh.
12
13 MAXNUM=256
14 COLUMNS=5
15 OCT=8
16 OCTSQU=64
17 LITTLESPACE=-3
18 BIGSPACE=-5
19
20 i=1 # Decimal counter
21 o=1 # Octal counter
22
23 while [ "$i" -lt "$MAXNUM" ]; do # We don't have to count past 400 octal.
24 paddi=" $i"
25 echo -n "${paddi: $BIGSPACE} " # Column spacing.
26 paddo="00$o"
27 # echo -ne "\\${paddo: $LITTLESPACE}" # Original.
28 echo -ne "\\0${paddo: $LITTLESPACE}" # Fixup.
29 # ^
30 echo -n " "
31 if (( i % $COLUMNS == 0)); then # New line.
32 echo
33 fi
34 ((i++, o++))
35 # The octal notation for 8 is 10, and 64 decimal is 100 octal.
36 (( i % $OCT == 0)) && ((o+=2))
37 (( i % $OCTSQU == 0)) && ((o+=20))
38 done
39
40 exit $?
41
42 # Compare this script with the "pr-asc.sh" example.
43 # This one handles "unprintable" characters.
44
45 # Exercise:
46 # Rewrite this script to use decimal numbers, rather than octal. |