show counts

This commit is contained in:
Q
2025-02-08 11:44:26 +02:00
parent f850131713
commit aeb5bc0b01

View File

@@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
VERSION="20250205" VERSION="20250208"
function helpexit() { function helpexit() {
BS=$( basename "$0" ) BS=$( basename "$0" )
@@ -23,7 +23,7 @@ function listfolders() {
} }
function count_size() { function count_size() {
cat - | python3 -c "import sys cat - | python3 -c "import sys,time
def sizeof_fmt(num, suffix='B'): def sizeof_fmt(num, suffix='B'):
for unit in ['','K','M','G','T','P','E','Z']: for unit in ['','K','M','G','T','P','E','Z']:
if num < 1024.0: if num < 1024.0:
@@ -31,15 +31,22 @@ def sizeof_fmt(num, suffix='B'):
num /= 1024.0 num /= 1024.0
return '%.1f%s%s' % (num, 'Y', suffix) return '%.1f%s%s' % (num, 'Y', suffix)
sum=0 sum=0
count=0
printed=0
try: try:
for line in sys.stdin: for line in sys.stdin:
count += 1
sum += int(line) sum += int(line)
sys.stderr.write('\r%s: %s \r'%(sys.argv[1],sizeof_fmt(sum))) if printed < time.time() - 1:
sys.stderr.write('\r{}: {} #{:,} \r'.format(sys.argv[1],sizeof_fmt(sum), count))
sys.stderr.flush() sys.stderr.flush()
printed=time.time()
sys.stderr.write('\r{}: {} #{:,} \r'.format(sys.argv[1],sizeof_fmt(sum), count))
except KeyboardInterrupt: except KeyboardInterrupt:
sys.stdout.flush() sys.stdout.flush()
sys.stderr.flush() sys.stderr.flush()
pass pass
print(sum) print(sum)
" "$1" " "$1"
} }