Skip to main content
Updated answer to read from file rather than stdin
Source Link
rsaxvc
  • 1.8k
  • 13
  • 24

Tom's approach in Python:

d = dict()

import sys
for filename in sys.argv[1:]:
d    file = dictopen(filename, 'r')
    for line in sysfile.stdinread().splitlines():
        if line not in d:
            d[line] = 1
        else:
            d[line] += 1
    file.close()

import operator
print "Item,Count"
for line in sorted(d.items(), key=operator.itemgetter(1)):
    print d[line]line[0] + ",line" + str( line[1] )

Usage:

cat filename | python linesorter.py filename1.txt filename2.txt filename_...

Tom's approach in Python:

import sys

d = dict()
for line in sys.stdin:
    if line not in d:
        d[line] = 1
    else:
        d[line] += 1


for line in d:
    print d[line],line

Usage:

cat filename | python linesorter.py

Tom's approach in Python:

d = dict()

import sys
for filename in sys.argv[1:]:
    file = open(filename, 'r')
    for line in file.read().splitlines():
        if line not in d:
            d[line] = 1
        else:
            d[line] += 1
    file.close()

import operator
print "Item,Count"
for line in sorted(d.items(), key=operator.itemgetter(1)):
    print line[0] + "," + str( line[1] )

Usage:

python linesorter.py filename1.txt filename2.txt filename_...
added 14 characters in body
Source Link
genpfault
  • 51.7k
  • 12
  • 89
  • 144

Tom's approach in Python:

import sys

d = dict()
for line in sys.stdin:
    if line not in d:
        d[line] = 1
    else:
        d[line] += 1


for line in d:
    print d[line],line

cat filename | python linesorter.pyUsage:

cat filename | python linesorter.py

Tom's approach in Python:

import sys

d = dict()
for line in sys.stdin:
    if line not in d:
        d[line] = 1
    else:
        d[line] += 1


for line in d:
    print d[line],line

cat filename | python linesorter.py

Tom's approach in Python:

import sys

d = dict()
for line in sys.stdin:
    if line not in d:
        d[line] = 1
    else:
        d[line] += 1


for line in d:
    print d[line],line

Usage:

cat filename | python linesorter.py
Source Link
rsaxvc
  • 1.8k
  • 13
  • 24

Tom's approach in Python:

import sys

d = dict()
for line in sys.stdin:
    if line not in d:
        d[line] = 1
    else:
        d[line] += 1


for line in d:
    print d[line],line

cat filename | python linesorter.py