#!/bin/bash BASE="${1:-.}" for dir in "$BASE"/*/; do [ -d "$dir" ] || continue title=$(basename "$dir") # Skip directories starting with a number [[ "$title" =~ ^[0-9] ]] && continue # Author = parent directory of book directory author=$(basename "$(dirname "$dir")") # Fix author name formatting author="${author//JRR/J. R. R.}" for pdf in "$dir"/*.pdf; do [ -f "$pdf" ] || continue opf="$dir/metadata.opf" cat > "$opf" < $title $author en application/pdf EOF echo "Created: $opf" done done