Intermediate Projects
Prerequisites: Level 2 — Intermediate
Build these using functions, arrays, argument parsing, exit codes, and the text-processing tools from Level 2. Check each with ShellCheck.
1. CSV Report Tool
Write a command-line tool that reads a CSV of sales (date,region,amount)
and prints totals per region and per month with awk. Support --region
to filter, --help for usage, and exit with a clear message and non-zero
status for a missing or malformed file.
2. Website Uptime Checker
Read a list of URLs from a file, check each with curl (with a timeout),
and print a table of status codes and response times. Exit non-zero if any
site is down, so the script can be used in monitoring.
3. Dotfiles Installer
Write an installer that symlinks configuration files from a dotfiles
repository into your home folder, backing up any existing files first,
with a --dry-run flag that only prints what it would do.
4. Git Repository Cleanup
Write a script that lists local Git branches already merged into the main branch, asks for confirmation, and deletes them — never touching the current or main branch.