Movie
Movie is a small Bash script for maintaining a personal list of films, television series, podcasts and online video ratings.
The script can be viewed and downloaded here.
Entries are stored in a plain text CSV file, and the script generates a set of static HTML pages sorted in different ways. The goal is to keep everything simple, portable and easy to edit by hand.
Features
- Store ratings in a single CSV file.
- Generate static HTML pages.
- View entries sorted by:
- Rating
- Review date
- Release year
- Title
- Interactive command for adding new entries.
- Open the database in your preferred text editor.
- No databases or web frameworks required.
Requirements
Movie requires:
- Bash
- GNU awk
- GNU sort
- GNU cut
- GNU tail
- GNU sed
Data Format
All entries are stored in movies.csv.
The first line is a header and is ignored when generating pages.
Each subsequent line has the format:
review-date|title|release-year|rating|category
Example:
2026-07-02|The Third Man|1949|10|Film
2026-07-03|The Prisoner|1967|9|TV series
2026-07-04|Some Podcast|2025|8|Podcast
The default categories are:
- Film
- TV series
- Video series
- Podcast
Generated Pages
Running the generator produces four pages:
| File | Sorted by |
|---|---|
index.html |
Rating |
recent.html |
Review date |
year.html |
Release year |
title.html |
Title |
Each page contains the same entries presented in a different order.
Usage
Generate all pages:
movie genAdd a new entry:
movie addDelete the most recently added entry:
movie delEdit the CSV file manually:
movie edThe editor used is determined by the EDITOR environment variable. If EDITOR is not set, nano is used.
Philosophy
Movie deliberately avoids databases, JavaScript and complex dependencies.
The ratings database is a plain text file that can be viewed, searched, backed up and edited with any text editor. HTML pages are generated directly from the CSV using standard Unix tools, making the script easy to understand and modify.