I have to pre-check for an empty set before passing it to grep:
�
SAVED_RECORDs=($(sqlite3 -list -separator '/' files.db "SELECT FileName FROM 
Files WHERE ModTime > '2018-12-31'")) #Returns an empty set
NEW_RECs=($(ls * | grep -vf <(echo ${SAVED_RECORDs[@]}
| tr ' ' '\n') #Returns an empty list because grep considers SAVED_RECORDs to 
be universal rather than null set
Workaround:


if [ ${#SAVED_RECORDs[@]} -gt 0 ]; then

� NEW_RECs=($(ls * | grep -vf <(echo ${SAVED_RECORDs[@]} | tr ' ' '\n') #Now 
returns the expected subtraction of SAVED_RECORDs from NEW_RECs

fi

Reply via email to