Re:Explainer: .DS_Store Files
by makecheck on Saturday November 27, 2021 @09:20PM
(#29365601)
This is my script to “clean up” a typical macOS zip file.
It assumes you’ve started by asking the Finder to “Compress” (which creates a zip file but one riddled with macOS-isms).
[ Parent
| on HN ]
You probably want to test:
if [ ! -f "$zipfile" ]
Instead of if [ "x$zipfile" = "x" ]Thank you! I took your script, suggestions in this thread and added some of my sauce:
#!/usr/bin/env bash
set -exuo pipefail
VERBOSE=false
while getopts "v" arg; do
case $arg in
v) VERBOSE=true;;
esac
done
shift $((OPTIND-1))
zipfile=$1
if [ ! -f "$zipfile" ] || [ ! "${zipfile##*.}" = "zip" ] ; then
echo "$0: .zip file expected" >&2
exit 1
fi
zip -d "${zipfile}" "__MACOSX*" ".DS_Store" "*/.DS_Store" "Thumbs.db" "*/Thumbs.db"
if [ $VERBOSE = true ]; then
unzip -l "${zipfile}" | sort -k 5
fiProcessing the zip file three times over seems a bit excessive?
zip -d "${zipfile}" "__MACOSX*" ".DS_Store" "*/.DS_Store"