Transfer and Organize Photos with fotobasher

Productivity Sauce
Some time ago, I shared a simple shell script for downloading and organizing photos. This script served me well, but it did have some limitations. For example, all settings were hard-wired into the script itself, which made it less flexible for processing photos from different cameras. To solve the problem, I've tweaked the script, so it now pulls all the required settings from a separate .cfg file. This way, I can have separate configuration files for different cameras, and all I need to do is to point the script to the right one.
The script itself is still relatively simple. It uses the source command to read parameter values from a configuration file. The name of the configuration file is specified as an argument when running the script: ./fotobasher.sh config.cfg. The rest of the script remains unchanged. First, the script creates a temporary directory and copies photos from the card into it. The script then processes the transferred photos using the exiftool command, and removes the temporary directory.
You can grab the latest version of the script from its GitHub repository. Place the fotobasher.sh and config.cfg files in a directory where you want to transfer and store photos, and make the script executable using the chmod +x fotobasher.sh command. To use the script with your specific camera model, specify the correct values in the config.cfg file, and save it under a different name. For example, if you are using a Nikon D90 DSLR, the config.cfg file would look something like this:
source_dir="/media/NIKON\ D90/DCIM/100NCD90/" model_prefix="NIKOND90" ext="NEF"
Save the file under the nikond90.cfg name, then run the script:
./fotobasher.sh nikond90.cfg
That's all there is to it.
comments powered by DisqusSubscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

News
-
Red Hat Releases RHEL 10 Early
Red Hat quietly rolled out the official release of RHEL 10.0 a bit early.
-
openSUSE Joins End of 10
openSUSE has decided to not only join the End of 10 movement but it also will no longer support the Deepin Desktop Environment.
-
New Version of Flatpak Released
Flatpak 1.16.1 is now available as the latest, stable version with various improvements.
-
IBM Announces Powerhouse Linux Server
IBM has unleashed a seriously powerful Linux server with the LinuxONE Emperor 5.
-
Plasma Ends LTS Releases
The KDE Plasma development team is doing away with the LTS releases for a good reason.
-
Arch Linux Available for Windows Subsystem for Linux
If you've ever wanted to use a rolling release distribution with WSL, now's your chance.
-
System76 Releases COSMIC Alpha 7
With scores of bug fixes and a really cool workspaces feature, COSMIC is looking to soon migrate from alpha to beta.
-
OpenMandriva Lx 6.0 Available for Installation
The latest release of OpenMandriva has arrived with a new kernel, an updated Plasma desktop, and a server edition.
-
TrueNAS 25.04 Arrives with Thousands of Changes
One of the most popular Linux-based NAS solutions has rolled out the latest edition, based on Ubuntu 25.04.
-
Fedora 42 Available with Two New Spins
The latest release from the Fedora Project includes the usual updates, a new kernel, an official KDE Plasma spin, and a new System76 spin.