X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=bin%2Flive-snapshot;h=3d4efad0da20bdb3c9adcb8f26083b7013b9403d;hb=ef3cb9d56ba76727af70a0ddab65edc73a7cdbd9;hp=bf0e332be4da25751b649bc642aa6cd2b8e59a40;hpb=8af69eb3e88459ca949aa95727dc2212266c6669;p=live-boot-grml.git diff --git a/bin/live-snapshot b/bin/live-snapshot index bf0e332..3d4efad 100755 --- a/bin/live-snapshot +++ b/bin/live-snapshot @@ -346,8 +346,8 @@ Do_filelist () 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 @@ -397,7 +397,7 @@ Do_snapshot () 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}" @@ -411,9 +411,18 @@ Do_snapshot () 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}" ;;