# HG changeset patch # User Henry S. Thompson # Date 1676825046 0 # Node ID 44fea514ca45232c24b06e3ca5265db1a3839c86 # Parent d335ca1fb71bd312d33232c4a17eda7bc2e91b5c foo diff -r d335ca1fb71b -r 44fea514ca45 char_hist.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/char_hist.py Sun Feb 19 16:44:06 2023 +0000 @@ -0,0 +1,43 @@ +#!/usr/bin/python3 +import sys + +h={} +mc=0 +nonAscii=0 + +if len(sys.argv)>1: + showMe=[int(a) for a in sys.argv[1:]] +else: + showMe=[] + +def main(): + global h, mc, nonAscii, showMe + for l in sys.stdin: + na=0 + sm=0 + for c in l: + h[c]=h.get(c,0)+1 + o=ord(c) + sm+=(o in showMe) + na+=(o>127) + if o>mc: + mc=o + if na>0: + nonAscii+=1 + if sm>0: + sys.stderr.write(l) + + for i in range(128): + print(i,chr(i),h.get(chr(i),0)) + print('-------') + if nonAscii>0: + print("%s lines with one or more non-ascii characters"%nonAscii) + for i in range(128,mc+1): + c=chr(i) + if c in h: + print(i,c,h[c]) + +if __name__ == '__main__': + main() + +