add apache license, minor doc update
[tee-unique] / teeu
diff --git a/teeu b/teeu
index 074dc4dd18c9ab2a30e3a173f71bbc110979658c..8557bad5641e566c362122dd5050380a38cd626b 100755 (executable)
--- a/teeu
+++ b/teeu
@@ -1,28 +1,39 @@
 #!/bin/bash
-# Copyright (C) 2014 Ian Kelling
-# This program is under GPL v. 3 or later, see <http://www.gnu.org/licenses/>
+# Copyright (C) 2016 Ian Kelling
 
-appendu() {
-    local help="Usage: appendu [-h|--help] FILE
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
 
-Tee unique. Append each stdin line if it does not exist in the file.
+#     http://www.apache.org/licenses/LICENSE-2.0
 
-  [-h|--help]  display this message"
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+teeu() {
+    local help="Usage: appendu [-h|--help] FILE [LINE]
+Append LINE if it's not already in FILE
+
+If no LINE is specified, process each line from STDIN.
+teeu is short for tee unique.
+
+-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