# ascii -- ascii table
# $Id$ 
# Carlos Duarte, 980625
#

# to obtain a ascii table, just pass this file via sh(1)
#
#	sh ascii 		; get a table 
#	sh ascii 3		; same, but with 3 columns

awk -v D=${1-5} '/^===/{k=1;next} !k {next}
{ x[k++] = sprintf("%3s %3s %2s %-3s", $1, $2, $3, $4) }
END { 
	--k; kk=int(k/D)
	if (kk != k/D) 
		kk++
	for (j=1; j<=kk; j++) {
		for (i=0; i<D; i++)
			printf "|%s", x[j+kk*i]; 
		if (x[j+kk*(i-1)]) 
			printf "|"
		printf "\n"
	}
} ' $0; exit 

dec oct hx name 
=== === == ====
  0 000 00 nul
  1 001 01 soh
  2 002 02 stx
  3 003 03 etx
  4 004 04 eot
  5 005 05 enq
  6 006 06 ack
  7 007 07 bel
  8 010 08 bs 
  9 011 09 ht 
 10 012 0A lf 
 11 013 0B vt 
 12 014 0C ff 
 13 015 0D cr 
 14 016 0E so 
 15 017 0F si 
 16 020 10 dle
 17 021 11 dc1
 18 022 12 dc2
 19 023 13 dc3
 20 024 14 dc4
 21 025 15 nak
 22 026 16 syn
 23 027 17 etb
 24 030 18 can
 25 031 19 em 
 26 032 1A sub
 27 033 1B esc
 28 034 1C fs 
 29 035 1D gs 
 30 036 1E rs 
 31 037 1F us 
 32 040 20 spc
 33 041 21 !  
 34 042 22 "  
 35 043 23 #  
 36 044 24 $  
 37 045 25 %  
 38 046 26 &  
 39 047 27 '  
 40 050 28 (  
 41 051 29 )  
 42 052 2A *  
 43 053 2B +  
 44 054 2C ,  
 45 055 2D -  
 46 056 2E .  
 47 057 2F /  
 48 060 30 0  
 49 061 31 1  
 50 062 32 2  
 51 063 33 3  
 52 064 34 4  
 53 065 35 5  
 54 066 36 6  
 55 067 37 7  
 56 070 38 8  
 57 071 39 9  
 58 072 3A :  
 59 073 3B ;  
 60 074 3C <  
 61 075 3D =  
 62 076 3E >  
 63 077 3F ?  
 64 100 40 @  
 65 101 41 A  
 66 102 42 B  
 67 103 43 C  
 68 104 44 D  
 69 105 45 E  
 70 106 46 F  
 71 107 47 G  
 72 110 48 H  
 73 111 49 I  
 74 112 4A J  
 75 113 4B K  
 76 114 4C L  
 77 115 4D M  
 78 116 4E N  
 79 117 4F O  
 80 120 50 P  
 81 121 51 Q  
 82 122 52 R  
 83 123 53 S  
 84 124 54 T  
 85 125 55 U  
 86 126 56 V  
 87 127 57 W  
 88 130 58 X  
 89 131 59 Y  
 90 132 5A Z  
 91 133 5B [  
 92 134 5C \  
 93 135 5D ]  
 94 136 5E ^  
 95 137 5F _  
 96 140 60 `  
 97 141 61 a  
 98 142 62 b  
 99 143 63 c  
100 144 64 d  
101 145 65 e  
102 146 66 f  
103 147 67 g  
104 150 68 h  
105 151 69 i  
106 152 6A j  
107 153 6B k  
108 154 6C l  
109 155 6D m  
110 156 6E n  
111 157 6F o  
112 160 70 p  
113 161 71 q  
114 162 72 r  
115 163 73 s  
116 164 74 t  
117 165 75 u  
118 166 76 v  
119 167 77 w  
120 170 78 x  
121 171 79 y  
122 172 7A z  
123 173 7B {  
124 174 7C |  
125 175 7D }  
126 176 7E ~  
127 177 7F del
