TMP_FILELIST=$1
if [ -f "${SNAP_LIST}" ]
then
- # Generate include list
- for entry in $(cat "${SNAP_LIST}" | grep -v '^#.*$' | grep -v '^ *$')
+ # Generate include list removing empty and commented lines
+ for entry in $(sed -e '/^ *$/d' -e '/^#.*$/d' "${SNAP_LIST}")
do
if [ -d "${entry}" ]
then
if [ -e "${EXCLUDE_LIST}" ]
then
# Add explicitly excluded files
- cat "${EXCLUDE_LIST}" | grep -v '^#.*$' | grep -v '^ *$' >> "${TMP_FILELIST}"
+ grep -v '^#.*$' "${EXCLUDE_LIST}" | grep -v '^ *$' >> "${TMP_FILELIST}"
fi
cd "${OLDPWD}"
then
# Convert \0 to \n and tag existing (rare but possible) \n in filenames,
# this to let grep -F -v do a proper work in filtering out
- cat "${TMP_FILELIST}" | tr '\n' '\1' | tr '\0' '\n' | grep -F -v -f "${EXCLUDE_LIST}" | tr '\n' '\0' | tr '\1' '\n' | cpio --quiet -o0 -H newc | gzip -9c > "${DEST}" || exit 1
+ cat "${TMP_FILELIST}" | \
+ tr '\n' '\1' | \
+ tr '\0' '\n' | \
+ grep -F -v -f "${EXCLUDE_LIST}" | \
+ tr '\n' '\0' | \
+ tr '\1' '\n' | \
+ cpio --quiet -o0 -H newc | \
+ gzip -9c > "${DEST}" || exit 1
else
- cat "${TMP_FILELIST}" | cpio --quiet -o0 -H newc | gzip -9c > "${DEST}" || exit 1
+ cat "${TMP_FILELIST}" | \
+ cpio --quiet -o0 -H newc | \
+ gzip -9c > "${DEST}" || exit 1
fi
cd "${OLDPWD}"
;;