15 lines
		
	
	
		
			669 B
		
	
	
	
		
			Haskell
		
	
	
	
	
	
			
		
		
	
	
			15 lines
		
	
	
		
			669 B
		
	
	
	
		
			Haskell
		
	
	
	
	
	
| #!/usr/bin/env runhaskell
 | |
| -- filters uninteresting fields from profile data lines
 | |
| -- Simon Michael 2007
 | |
| import Data.List
 | |
| main = interact $ unlines . map print . filter (/=[]) . 
 | |
|        (["cost-centre - - entries %time %mem %t-inh %m-inh"]++) . tail . 
 | |
|        dropWhile (notElem "entries" . words) . lines
 | |
|     where
 | |
|       print line = tabcat [paddedfirst, field 3, field 4, field 5, field 6, field 7]
 | |
|           where
 | |
|             tabcat = concat . intersperse "\t"
 | |
|             first = takeWhile (==' ') line ++ (takeWhile (/=' ') $ dropWhile (==' ') line)
 | |
|             paddedfirst = first ++ (take (60 - (length first)) $ repeat ' ')
 | |
|             field n = words line !! n
 |