Files
webdoc-analysis/run.sh

85 lines
2.3 KiB
Bash
Executable File

#!/usr/bin/env bash
OUTPUT_DIR="out"
mkdir -p "$OUTPUT_DIR"
if [[ ! -f "$OUTPUT_DIR/cgi-paths.txt" ]]; then
find \
/home/pvv/?/*/web-docs \
-type f \
\( \
-name '*.cgi' \
-o -name '*.php' \
-o -name '*.php3' \
-o -name '*.pm' \
-o -name '*.pl' \
-o -name '*.sh' \
-o -name '*.bash' \
-o -name '*.phtml' \
-o -name '*.shtml' \
-o -name '*.lisp' \
-o -name '*.cl' \
\) \
2>/dev/null \
| tee "$OUTPUT_DIR/cgi-paths.txt"
fi
if [[ ! -f out/perl-libs.txt ]]; then
find \
/home/pvv/?/*/web-docs \
-type f \
\( \
-name '*.pm' \
-o -name '*.pl' \
\) \
-exec rg '^use ([^;]+);' {} -N -o -r '$1' \; \
2>/dev/null \
| tee "$OUTPUT_DIR/perl-libs.txt"
fi
cat "$OUTPUT_DIR/perl-libs.txt" | sort > "$OUTPUT_DIR/perl-libs-sorted.txt"
comm -2 -3 "$OUTPUT_DIR/perl-libs-sorted.txt" PERL_STANDARD_MODULES.txt > "$OUTPUT_DIR/perl-libs-filtered.txt"
# TODO: remove pragmas
cat "$OUTPUT_DIR/perl-libs-filtered.txt" | uniq -c | sort -gr > "$OUTPUT_DIR/perl-libs-overview.txt"
if [[ ! -f "$OUTPUT_DIR/php-libs.txt" ]]; then
find \
/home/pvv/?/*/web-docs \
-type f \
\( \
-name '*.php' \
-o -name '*.php3' \
-o -name '*.phtml' \
\) \
-exec rg '^use ([^;]+);' {} -N -o -r '$1' \; \
2>/dev/null \
| tee "$OUTPUT_DIR/php-libs.txt"
fi
cat "$OUTPUT_DIR/php-libs.txt" | sort | uniq -c | sort -gr > "$OUTPUT_DIR/php-libs-overview.txt"
find \
/home/pvv/?/*/web-docs \
-type f \
\( \
-name '*.cgi' \
-o -name '*.php' \
-o -name '*.php3' \
-o -name '*.pm' \
-o -name '*.pl' \
-o -name '*.sh' \
-o -name '*.bash' \
-o -name '*.phtml' \
-o -name '*.shtml' \
-o -name '*.lisp' \
-o -name '*.cl' \
\) \
-exec rg '(?:/store/bin|/store/gnu/bin|/usr/bin|/usr/local/bin|/local/bin|/opt/bin|/opt/local/bin|/sbin|/usr/sbin|/usr/local/sbin|/opt/sbin|/var/qmail/bin|/usr/drwho/local/bin|/usr/local/mlog3/bin|/usr/local/flite/bin|/opt/flite/bin|/opt/csw/bin|/sw/bin|/usr/sfw/bin|/perl/bin|/usr/local/php/bin|/usr/X11R6/bin)/(?:env\s*)?(\w+(?:/\w+)*)' {} -N -o -r '$1' \; \
2>/dev/null \
| tee "$OUTPUT_DIR/cgi-progs.txt"
cat "$OUTPUT_DIR/cgi-progs.txt" | sort | uniq -c | sort -gr > "$OUTPUT_DIR/cgi-progs-overview.txt"
# TODO find lisp libraries