Search code examples
bashgifsicle

Resizing all files in a directory using Gifsicle


I am trying to resize all files in a directory with Gifsicle in MacOs. I am able to resize single file. But how to resize all files in a directory?

gifsicle original.gif --resize 600x600 > _resized.gif

Solution

  • This will work in BASH buddy.

    #!/bin/bash
    my_path=/var/www/mywebpage/images
    all_files=$( find $my_path -type f -name '*.jpg' -o -name '*.jpeg' -o -name '*.png' -o -name '*.gif' )
    cd $my_path;
    while read line
    do
        echo "About to convert $line ..."
        gifsicle $line --resize 600x600 > ./tmp_image && cat ./tmp_image > $line
        echo "Done!"
    done <<< "$all_files"
    

    Regards!