forked from decal/werdlists
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathextract-manpages-environ
executable file
·26 lines (22 loc) · 1.02 KB
/
extract-manpages-environ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/bin/env bash
#
# extract-manpages-environ v1.1
#
# Extract environment variable names from Linux manual pages
# (ensure that /usr/libexec/makewhatis has been executed)
#
# Written By: Derek Callaway [decal (AT) sdf {D0T} org]
# Last Updated: Sat Apr 21 10:08:23 PDT 2018
# Tested On: Ubuntu 16.04.3 LTS
# Darwin 17.5.0 Darwin Kernel Version 17.5.0: Mon Mar 5 22:24:32 PST 2018; root:xnu-4570.51.1~1/RELEASE_X86_64 x86_64 i386
#
PAGER=cat
for m in $(man -k '' | awk -F\( '{print$1}')
do declare -i aline="$(man -- $m | grep -n 'ENVIRONMENT' | tail -n 1 | awk -F: '{print$2}')"
declare -a names=( )
names+=$(PAGER=cat man most | tail -n +${aline} | egrep '^[ ]+[A-Z_, ]+$' | awk -F, '{print$1}')
names+=$(PAGER=cat man most | tail -n +${aline} | egrep '^[ ]+[A-Z_, ]+$' | awk -F, '{print$2}')
names+=$(PAGER=cat man most | tail -n +${aline} | egrep '^[ ]+[A-Z_, ]+$' | awk -F, '{print$3}')
names+=$(PAGER=cat man most | tail -n +${aline} | egrep '^[ ]+[A-Z_, ]+$' | awk -F, '{print$4}')
done
exit 0