relpipe-data/examples/parallel-hashes-1.sh
author František Kučera <franta-hg@frantovo.cz>
Tue, 11 May 2021 21:35:54 +0200
branchv_0
changeset 325 4560c5623d7d
parent 294 abbc9bcfbcc4
permissions -rwxr-xr-x
relpipe-tr-grep has new syntax since v0.18: --relation, --attribute, --value

#!/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