#!/bin/bash book_dir="." # Loop through all module directories (module1, module2, etc.) for module_path in "$book_dir"/module*/; do [ -d "$module_path" ] || continue module_name=$(basename "$module_path") # e.g. module2 module_number="${module_name//[!0-9]/}" # extract number: 2 output_file="$module_path/$module_name.tex" echo "Generating $output_file" # Start writing the .tex file { echo "\\chapter{Module $module_number}" for texfile in "$module_path"/*.tex; do tex_base=$(basename "$texfile" .tex) # Skip the module.tex itself [[ "$tex_base" == "$module_name" ]] && continue echo "\\input{$module_name/$tex_base}" done } > "$output_file" done