#!/bin/bash rm -f prototypes.txt for d in /usr/share/man/man2 /usr/share/man/man3 ; do ( cd $d && zgrep "POSIX.1-2001\|C89" *.gz | cut -d ':' -f 1 | uniq ) | while read f ; do n=$(echo $f | cut -d '.' -f 1) zcat $d/$f | expand | tr '\\\n' '#~' | sed "s/#~//g;s/,~\.[A-Z]*/,/g" | sed "s/#\"* *//g" | tr '#~' '\\\n' | sed "0,/SYNOPSIS/d" | sed "/DESCRIPTION/,\$d" | grep $n | tr -d '"' | grep ";\$" | grep " \**$n *(" | sed "s/^\.*[A-Z]* *//g" | sed "s/\;\$//g" | sed "s/ */ /g" | sed "s/^/$n|/g" done done | grep -v POSIX | sort > prototypes_c89_posix.txt