#!/usr/bin/env sh DB_PATH="$1" shift get_title() { FILE="$1" PATTERN=".*\(Bison.*\).*" #Find pattern in file grep -Eo "$PATTERN" "$FILE" | #Remove tag sed 's/<[^>]*>//g' | \ #Remove '(automake)' sed 's/(Bison.*)//g' | \ #Remove trailing space sed 's/[ ]*$//g' | \ #Replace '&' with '&' sed 's/&/&/g' } insert() { NAME="$1" TYPE="$2" PAGE_PATH="$3" sqlite3 "$DB_PATH" "INSERT INTO searchIndex(name, type, path) VALUES (\"$NAME\",\"$TYPE\",\"$PAGE_PATH\");" } # Create table sqlite3 "$DB_PATH" "CREATE TABLE searchIndex(id INTEGER PRIMARY KEY, name TEXT, type TEXT, path TEXT);" sqlite3 "$DB_PATH" "CREATE UNIQUE INDEX anchor ON searchIndex (name, type, path);" # Get title and insert into table for each html file while [ -n "$1" ]; do unset PAGE_NAME PAGE_NAME="$(get_title "$1")" if [ -n "$PAGE_NAME" ]; then insert "$PAGE_NAME" "Guide" "$(basename "$1")" fi shift done