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