Bash for Archivists

Playing a Bash script as a video file:
ffplay -loop 0 script.txt


Two years ago, Reto Kromer prepared a Bash programming course for audio-visual archivists of the SEAPAVAA community, but finally could not hold it, because of health problems. COVID-19 gives us now a good reason to offer an expanded flavour of the course as a series of webinars. Joshua Ng from the Archives New Zealand is co-leading the sessions.


  • We believe that the only way to really learn scripting is to write scripts, therefore lessons and hands-on will alternate. The examples are mainly focussed on FFmpeg automation techniques, but also other open-source tools are considered.
  • The webinars are free, but a registration was required … which is now closed.
  • You are very welcome to make a voluntary donation to the «COVID-19 Solidarity Response Fund», supporting World Health Organisation’s work. Thank you!
  • We will use a Jitsi-based platform. The full link will be provided to the participants in proper time.


Beginner Level

Anticipated content includes:

  • command-line interface;
  • parsing input and formatting output;
  • flow control: branching with if;
  • variables;
  • functions;
  • data processing.

First Session

On Tuesday 23rd June 2020 at 08:00–10:00 CEST (or 06:00–08:00 UTC).


Second Session

On Thursday 25th June 2020 at 08:00–10:00 CEST (or 06:00–08:00 UTC).


Intermediate Level

Anticipated content includes:

  • customising your environment;
  • flow control: looping with while and until;
  • arrays;
  • file processing;
  • flow control: branching with case;
  • process handling, redirections.

Third Session

On Tuesday 30th June 2020 at 08:00–10:00 CEST (or 06:00–08:00 UTC).

Fourth Session

On Thursday 2nd July 2020 at 08:00–10:00 CEST (or 06:00–08:00 UTC).

Advanced Level

Anticipated content includes:

  • debugging techniques;
  • flow control: looping with for;
  • regular expressions;
  • command substitution;
  • flow control: branching with select;
  • asynchronous execution.

Fifth Session

On Tuesday 7th July 2020 at 08:00–10:00 CEST (or 06:00–08:00 UTC).

Sixth Session

On Thursday 9th July 2020 at 08:00–10:00 CEST (or 06:00–08:00 UTC).


From AV Preservation by


From the «Linux Documentation Project Guides»:

  • Mendel Cooper: Advanced Bash-Scripting Guide, version 10, 2014–03–10 (HTML and PDF)
  • Machtelt Garrels: Bash Guide for Beginners, version 1.11, 2008–12–27 (HTML and PDF)
  • Gareth Anderson: GNU/Linux Command-Line Tools Summary, version 1.2, 2006–04–15 (HTML and PDF)


Using Bash in AV archives:


Other resources:

For macOS users