#!/usr/bin/env bash # senlen -- flag sentences over N words threshold="${2:-30}" file="${1:?Usage: senlen [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"