From b98bf12c0cafdfb8e59c24f8824ff160f753fd72 Mon Sep 17 00:00:00 2001 From: Chris Koeritz Date: Sat, 14 Oct 2017 13:56:18 -0400 Subject: [PATCH] maybe a fix for uniquifier turns out we were not using IFS properly. the real solution was to flip the spaces into EOLs so that uniq and other things would work on multiple lines. we believe this, at this point, at least. --- scripts/core/functions.sh | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/scripts/core/functions.sh b/scripts/core/functions.sh index af8a852f..90afe19c 100644 --- a/scripts/core/functions.sh +++ b/scripts/core/functions.sh @@ -83,16 +83,21 @@ if [ -z "$skip_all" ]; then # when passed a list of things, this will return the unique items from that list as an echo. function uniquify() { - # change the eol character so things are easier. -echo "list before uniquify: $*" >~/uniquify.out - HOLDIFS="$IFS" - IFS=' ' +## # change the eol character so things are easier. + +sep >>~/uniquify.out +echo "$(date): list before uniquify: $*" >>~/uniquify.out + +## HOLDIFS="$IFS" +## IFS=' ' + # do the uniquification. - local chewed="$(echo $* | sort | uniq)" + local chewed="$(echo $* | tr ' ' '\n' | sort | uniq)" echo $chewed -echo "list after uniquify: $chewed" >~/uniquify.out - # return the former eol characters to their place. - IFS="$HOLDIFS" +echo "$(date): list after uniquify: $chewed" >>~/uniquify.out + +## # return the former eol characters to their place. +## IFS="$HOLDIFS" } # sets the variable in parameter 1 to the value in parameter 2, but only if -- 2.34.1