Paste: Simple disk space usage for linux
        
	
	
	
		| Author:  | doublec | 
		| Mode:  | factor | 
		| Date:  | Fri, 10 Oct 2008 01:17:32 | 
	
	Plain Text |
	
	TUPLE: disk-free filesystem size used avail percent mount ;
EBNF: parse-df
spaces = (" " | "\t" | "\n")+
digit = [0-9]
number = digit+ => [[ string>number ]]
filesystem = (!(" ") .)+ => [[ >string ]]
size = number => [[ 1024 * ]]
used = number => [[ 1024 * ]]
avail = number => [[ 1024 * ]]
percent = number "%" => [[ first ]]
mount = (!(" ") .)+ => [[ >string ]]
rule=filesystem:a spaces 
     size:b spaces 
     used:c spaces 
     avail:d spaces 
     percent:e spaces 
     mount:f => [[ a b c d e f disk-free boa ]]
;EBNF
: free-space ( -- seq )
  <process> "df" >>command ascii <process-reader> lines 1 tail [ parse-df ] map ;
	
	
		New Annotation