#!/usr/local/bin/python # Sort all fields first, then first 4 fields (4th column = date field), finally by # first column. The end result is older backupids at top of queue to be expired. # This produces a sql-like "sort by" output, also known as a stable sort. # Require Python 2.5 (r25:51908, Sep 20 2006, 03:46:40) from sys import argv fh=file(argv[1]) L=fh.readlines() len=L.__len__() def splitf(list): list=list.split()[0:4] return list for i in range(L.__len__()): L[i].rstrip() L = sorted(L,key=lambda x: x.split(),reverse=False) for i in range(len): for j in range(i+1,len): if splitf(L[i]) == splitf(L[j]): if L[i].split()[0] != 'NP': L[i] = 'NP_' + L[i+1] break else: i=j break L = sorted(L) for i in range(len): print L[i],