Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env newlisp
- (setq magnitudes '("B" "K" "M" "G"))
- (define (human b , (radix 0))
- (while (> (/ b 1024) 0)
- (set 'b (div b 1024))
- (inc radix))
- (format "%d %s" b (nth radix magnitudes)) )
- (define (printer f)
- (println (format "%6s %s" (human (int (f 0))) (f 1))) )
- (define (reader l)
- (parse l {\s} 0) )
- (define (du-sort i j)
- (< (int (i 0)) (int (j 0))) )
- (define (proper-du)
- (if (= (length (exec "du --help 2>/dev/null")) 0)
- (replace {^\d+} (exec "du -sk *") (* $1 1024))
- (exec "du -sb *") ) )
- (map printer (sort (map reader (proper-du)) du-sort))
- (exit)
Advertisement
Add Comment
Please, Sign In to add comment