, . @steve AWK .
, grep : ^.......2010 2010 . script grep, - :
for year in 2010 2011 2012; do
grep "^.......$year" datafile > $year.txt
done
, .
Python AWK.
import sys
def next_line():
if len(sys.argv) == 1:
for line in sys.stdin:
yield line
else:
for name in sys.argv[1:]:
with open(name) as f:
for line in f:
yield line
_open_files = {}
def output(fname, line):
if fname not in _open_files:
_open_files[fname] = open(fname, "w")
_open_files[fname].write(line)
for line in next_line():
year = line[7:11]
fname = year + ".txt"
output(fname, line)
AWK, , . next_line() , , ; AWK . output(), , AWK .
, AWK, , Python . ( Python... , , .)