relpipe-data/examples/parallel-hashes-1.sh
author František Kučera <franta-hg@frantovo.cz>
Thu, 22 Oct 2020 01:51:32 +0200
branchv_0
changeset 317 fce3d6290c40
parent 294 abbc9bcfbcc4
permissions -rwxr-xr-x
Release v0.16 – JACK MIDI output, ports + rename Guile to Scheme + improve CLI interfaces

#!/bin/bash

findFiles() {
	find /bin/ -print0;
}

fetchAttributes() {
	relpipe-in-filesystem \
		--parallel 4 \
		--file path \
		--file type \
		--file size \
		--streamlet hash;
}

aggregate() {
	relpipe-tr-sql \
		--relation "file_hashes" \
		"SELECT
			path,
			type,
			size,
			sha256,
			count(*) OVER (PARTITION BY sha256) AS same_hash_count
		FROM filesystem
		ORDER BY same_hash_count, sha256, path, type";
}

findFiles | fetchAttributes | aggregate | relpipe-out-tabular