#!/bin/bash # Copyright (C) 2014 Ian Kelling # This program is under GPL v. 3 or later, see teeu() { local help="Usage: appendu [-h|--help] FILE [LINE] 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 "teeu error: need 1 or more arguments" echo "$help" return 1 fi local MAPFILE (( ${#@} >= 2 )) && MAPFILE="${@:2}" || mapfile -t for line in "${$MAPFILE[@]}"; do grep -xFq "$line" "$1" &>/dev/null || tee -a "$1" <<<"$line" done return 0 } teeu "$@"