#!/usr/bin/env bash
# senlen -- flag sentences over N words
threshold="${2:-30}"
file="${1:?Usage: senlen <file> [max-words]}"
awk -v t="$threshold" '
BEGIN { RS = "[.!?]"; n = 0 }
{
gsub(/\n/, " ");
wc = split($0, words, " ");
n++;
if (wc > t) {
printf "Sentence %d (%d words): %.80s...\n", n, wc, $0;
}
}
END { printf "\nTotal sentences: %d\n", n }
' "$file"