maybe a fix for uniquifier
authorChris Koeritz <fred@gruntose.com>
Sat, 14 Oct 2017 17:56:18 +0000 (13:56 -0400)
committerChris Koeritz <fred@gruntose.com>
Sat, 14 Oct 2017 17:56:18 +0000 (13:56 -0400)
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

index af8a852f7eb809f69dd76299b992d4760dbf6698..90afe19c3b5cf7544bc943ce7d4ee27118ea6fef 100644 (file)
@@ -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