equal
deleted
inserted
replaced
|
1 #!/bin/bash |
|
2 |
|
3 # argument: directory path |
|
4 # prints file count and sum of file sizes |
|
5 |
|
6 find "$1" -type f -print0 \ |
|
7 | relpipe-in-filesystem \ |
|
8 --file path \ |
|
9 --file size \ |
|
10 | relpipe-tr-guile \ |
|
11 --relation 'f.*' \ |
|
12 --output-attribute 'count' integer \ |
|
13 --output-attribute 'sum' integer \ |
|
14 --before-records ' |
|
15 (define $sum 0) |
|
16 (define $count 0) |
|
17 (define return-sum #f)' \ |
|
18 --for-each ' |
|
19 (set! $sum (+ $sum $size) ) |
|
20 (set! $count (+ $count 1 ) )' \ |
|
21 --where '#f' \ |
|
22 --after-records '(set! return-sum #t)' \ |
|
23 --has-more-records ' |
|
24 (if return-sum |
|
25 (begin (set! return-sum #f) #t) |
|
26 #f |
|
27 )' \ |
|
28 | relpipe-out-tabular |