Skip to content
AgileLogics
Intermediate 5 min read

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.