Tag Archive for: Bash

Resize a bunch of images at the same time using a Bash loop

You can take advantage of Bash and ImageMagick to quickly do processing of many images.

for file in *.jpg; do convert $file -resize 1000 resized-$file; done

But it could be even easier using the command mogrify from the same library:

HOW TO RESIZE MULTIPLE IMAGES AT ONCE

How to copy all your Node projects to your external drive?

Use rsync and exclude node_modules:

rsync -rv --exclude=node_modules my_projects /media/my_name/Seagate\ Expansion\ Drive/

-rv stand for recurse into directories and increase verbosity (see more info while copying)

Renaming Files in a folder to Sequential Numbers with a Prefix

First of all, we have to order our files using ls -v and concatenate them to a standar output with cat -n. From this ouput we read the sequence (n) and the name of each file (f). Finally, we rename the files using mv, adding a prefix and the sequence (n)

ls -v | cat -n | while read n f; do mv "$f" "prefix$n.jpg"; done

If we want to add a zero pad (p) to our sequence (n) we can do it easily with printf.

ls -v | cat -n | while read n f; do printf -v p %03d $n; mv "$f" "prefix$p.jpg"; done

How to Resize Multiple Images at Once

mogrify *.jpg -scale 50% *

Prevent SSH from disconnecting

If you are working with your server, ex: sending some file now and then with SSH, you can experience some annoying connection losses. Actually, if SSH has been idle for a while the connection will be closed.

You can prevent this easily adding a config file with just 2 lines of code to your .ssh folder in your home.

nano ~/.ssh/config
Host *
    ServerAliveInterval 30

Note: in Ubuntu TCPKeepAlive is active by default.