fix regression
[tee-unique] / teeu-function
index 9d2c5b939c4d5a6c71183aea82d11225fedf9851..735cd3fc9d1fda987b2578fe2cf6a149887f4bfc 100644 (file)
@@ -2,27 +2,25 @@
 # Copyright (C) 2014 Ian Kelling
 # This program is under GPL v. 3 or later, see <http://www.gnu.org/licenses/>
 
-appendu() {
-    local help="Usage: appendu [-h|--help] FILE
+teeu() {
+    local help="Usage: appendu [-h|--help] FILE [LINE]
 
-Tee unique. Append each stdin line if it does not exist in the file.
+Tee unique. Append each LINE or if none, each stdin line to FILE if it does not exist in FILE.
 
   [-h|--help]  display this message"
-
     
     if [[ $1 == --help || $1 == -h ]]; then
         echo "$help"
         return
     fi
     
-    if [[ ${#@} == 0 ]]; then
-        echo "error: need 1 or more arguments"
+    if (( ${#@} == 0 )) ; then
+        echo "teeu error: need 1 or more arguments"
         echo "$help"
         return 1
     fi
-
     local MAPFILE
-    mapfile -t
+    (( ${#@} >= 2 )) && MAPFILE="${@:2}" || mapfile -t
     for line in "${MAPFILE[@]}"; do
         grep -xFq "$line" "$1" &>/dev/null || tee -a "$1" <<<"$line"
     done