From 6b2cb5124a8982b0a484d7700bf0c07b3fdbd5c9 Mon Sep 17 00:00:00 2001 From: Simon Michael Date: Sat, 6 Jan 2024 13:56:51 -1000 Subject: [PATCH] ;doc:scripts:sortandmergepostings: give a little more context --- bin/README.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/bin/README.md b/bin/README.md index 0cb9c8bcf..59d7149a3 100644 --- a/bin/README.md +++ b/bin/README.md @@ -198,13 +198,14 @@ $ watchaccounts -f time.journal client1 date:thismonth -l ### sortandmergepostings [`sortandmergepostings`](https://github.com/simonmichael/hledger/blob/master/bin/sortandmergepostings) -can be used to cleanup and normalize postings. -It will sort postings so that positive ones are first, negative ones last. -Inside of that it sorts postings by account name alphabetically. +is an adventuresome awk script intended to clean up and merge similar postings in a transaction +(see [original discussion](https://unix.stackexchange.com/questions/526995/re-order-lines-and-merge-others-based-on-a-specific-criteria/527004)). +It sorts postings so that positive ones are first, negative ones last. +Within each sign, postings are sorted alphabetically by account name. Lastly it facilitates merging postings on transactions with more than one posting in the same direction on the same account. This works by removing the duplicates and cleaning the amount field for at-most one account per run Piping the output to `hledger print` can recalculate the missing amounts. -Subsequent runs can cleanup further duplicates. +Multiple runs might be needed to clean up all duplicates. ```cli $ sortandmergepostings input.journal | hledger -f - print -x ```