#!/bin/bash rm -f prototypestcl.txt ls -1 /usr/share/man/man3/ | grep "\.3tcl\.gz\$\|\.3tk\.gz\$" | grep -v "_" | grep -v "[A-Z]" | while read l ; do f=/usr/share/man/man3/$l if zcat $f | grep '^\\fB::' >/dev/null ; then continue fi n=$(echo $l | cut -d '.' -f 1) echo $n >&2 nopts=$(zcat $f | grep -A1 "^\.TP" | grep '^\\fB' | grep "^...$n " | cut -d ' ' -f 2 | tr '\\' ' ' | cut -d ' ' -f 1 | grep . | uniq | wc -l | tr -cd 0-9) if [ "m$nopts" != "m0" ] ; then for j in $(zcat $f | grep -A1 "^\.TP" | grep '^\\fB' | grep "^...$n " | cut -d ' ' -f 2 | tr '\\' ' ' | cut -d ' ' -f 1 | grep . | uniq ) ; do echo ...$n $j >&2 echo "$n $j|$(zcat $f | grep -A1 '^\.TP' | grep '^\\fB' | grep ^...$n\ $j | sed 's/\\f[A-Z]//g')" done echo ...$n >&2 echo "$n|$n: $(zcat $f | grep -A1 '^\.TP' | grep '^\\fB' | grep ^...$n\ | cut -d ' ' -f 2 | tr '\\' ' ' | cut -d ' ' -f 1 | grep . | uniq | tr '\n' ' ' | sed 's/ *$//g')" else echo "$n|$(zcat $f | sed '0,/SYNOPSIS/d' | sed '/DESCRIPTION/,$d' | grep '^\\fB' | sed 's/\\f[A-Z]//g')" fi done | expand | sed "s/ */ /g;s/ *$//g" | grep '|.' | grep -v '|#' | grep -v ')' | sed 's/\\-/-/g;s/\\&//g;s/\\|/|/g' | tr -d '\r' | sed "s/open fileName\$/open fileName ?access ?permissions??/g;s/fconfigure channelId\$/fconfigure channelId name value ?name value ...?/g" > prototypes_tcl.txt