Screenshot compressing script
This commit is contained in:
parent
fc10dee99a
commit
3e37a38d39
42
bin/archive_screenshots.sh
Executable file
42
bin/archive_screenshots.sh
Executable file
|
@ -0,0 +1,42 @@
|
|||
#!/usr/bin/env bash
|
||||
print_help() {
|
||||
cat <<HELP
|
||||
Compresses all pngs in current directory into avifs, with the same timestamp
|
||||
|
||||
USAGE:
|
||||
./$(basename "$0")
|
||||
HELP
|
||||
}
|
||||
|
||||
if [[ -n "$1" ]]; then
|
||||
print_help
|
||||
exit 0
|
||||
fi
|
||||
|
||||
declare -i RM_COUNT=0
|
||||
|
||||
for f in $(fd -e 'png' '(swappy|%)'); do
|
||||
rm -f "$f"
|
||||
(( RM_COUNT+=1 ))
|
||||
done
|
||||
|
||||
echo "Removed $RM_COUNT files"
|
||||
|
||||
declare -r PNG_COUNT=$(fd -e 'png' | wc -l)
|
||||
declare -i AVIF_COUNT=0
|
||||
echo "Preparing to compress $PNG_COUNT images"
|
||||
|
||||
for f in $(fd -e 'png'); do
|
||||
declare png="$f"
|
||||
declare avif="${f%.*}.avif"
|
||||
|
||||
magick convert "$png" "$avif"
|
||||
touch -r "$png" "$avif"
|
||||
|
||||
(( AVIF_COUNT+=1 ))
|
||||
awk -v a="$AVIF_COUNT" -v p="$PNG_COUNT" 'BEGIN {
|
||||
printf "Progress: %3d/%d :: %.1f%%\n", a, p, a/p * 100
|
||||
}'
|
||||
done
|
||||
|
||||
echo "Done!"
|
Loading…
Reference in a new issue