51
|
1 #!/usr/bin/python3
|
|
2 import sys
|
|
3
|
|
4 h={}
|
|
5 mc=0
|
|
6 nonAscii=0
|
|
7
|
|
8 if len(sys.argv)>1:
|
|
9 showMe=[int(a) for a in sys.argv[1:]]
|
|
10 else:
|
|
11 showMe=[]
|
|
12
|
|
13 def main():
|
|
14 global h, mc, nonAscii, showMe
|
|
15 for l in sys.stdin:
|
|
16 na=0
|
|
17 sm=0
|
|
18 for c in l:
|
|
19 h[c]=h.get(c,0)+1
|
|
20 o=ord(c)
|
|
21 sm+=(o in showMe)
|
|
22 na+=(o>127)
|
|
23 if o>mc:
|
|
24 mc=o
|
|
25 if na>0:
|
|
26 nonAscii+=1
|
|
27 if sm>0:
|
|
28 sys.stderr.write(l)
|
|
29
|
|
30 for i in range(128):
|
|
31 print(i,chr(i),h.get(chr(i),0))
|
|
32 print('-------')
|
|
33 if nonAscii>0:
|
|
34 print("%s lines with one or more non-ascii characters"%nonAscii)
|
|
35 for i in range(128,mc+1):
|
|
36 c=chr(i)
|
|
37 if c in h:
|
|
38 print(i,c,h[c])
|
|
39
|
|
40 if __name__ == '__main__':
|
|
41 main()
|
|
42
|
|
43
|