OXIESEC PANEL
- Current Dir:
/
/
usr
/
share
/
doc
/
gawk
/
examples
/
prog
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
10/21/2019 03:49:14 PM
rwxr-xr-x
📄
alarm.awk
2.31 KB
08/25/2016 03:14:42 AM
rw-r--r--
📄
anagram.awk
1.33 KB
08/25/2016 03:14:42 AM
rw-r--r--
📄
awksed.awk
515 bytes
08/25/2016 03:14:42 AM
rw-r--r--
📄
cut.awk
3.61 KB
08/25/2016 03:14:42 AM
rw-r--r--
📄
dupword.awk
507 bytes
08/25/2016 03:14:42 AM
rw-r--r--
📄
egrep.awk
1.91 KB
08/25/2016 03:14:42 AM
rw-r--r--
📄
extract.awk
1.74 KB
08/25/2016 03:14:42 AM
rw-r--r--
📄
guide.awk
165 bytes
08/25/2016 03:14:42 AM
rw-r--r--
📄
histsort.awk
283 bytes
08/25/2016 03:14:42 AM
rw-r--r--
📄
id.awk
1.22 KB
08/25/2016 03:14:42 AM
rw-r--r--
📄
igawk.sh
3.11 KB
08/25/2016 03:14:42 AM
rw-r--r--
📄
indirectcall.awk
952 bytes
08/25/2016 03:14:42 AM
rw-r--r--
📄
labels.awk
1014 bytes
08/25/2016 03:14:42 AM
rw-r--r--
📄
split.awk
1.17 KB
08/25/2016 03:14:42 AM
rw-r--r--
📄
tee.awk
770 bytes
08/25/2016 03:14:42 AM
rw-r--r--
📄
testbits.awk
729 bytes
08/25/2016 03:14:42 AM
rw-r--r--
📄
translate.awk
1.15 KB
08/25/2016 03:14:42 AM
rw-r--r--
📄
uniq.awk
2.64 KB
08/25/2016 03:14:42 AM
rw-r--r--
📄
wc.awk
1.45 KB
08/25/2016 03:14:42 AM
rw-r--r--
📄
wordfreq.awk
347 bytes
08/25/2016 03:14:42 AM
rw-r--r--
Editing: igawk.sh
Close
#! /bin/sh # igawk --- like gawk but do @include processing # # Arnold Robbins, arnold@skeeve.com, Public Domain # July 1993 # December 2010, minor edits if [ "$1" = debug ] then set -x shift fi # A literal newline, so that program text is formatted correctly n=' ' # Initialize variables to empty program= opts= while [ $# -ne 0 ] # loop over arguments do case $1 in --) shift break ;; -W) shift # The ${x?'message here'} construct prints a # diagnostic if $x is the null string set -- -W"${@?'missing operand'}" continue ;; -[vF]) opts="$opts $1 '${2?'missing operand'}'" shift ;; -[vF]*) opts="$opts '$1'" ;; -f) program="$program$n@include ${2?'missing operand'}" shift ;; -f*) f=$(expr "$1" : '-f\(.*\)') program="$program$n@include $f" ;; -[W-]file=*) f=$(expr "$1" : '-.file=\(.*\)') program="$program$n@include $f" ;; -[W-]file) program="$program$n@include ${2?'missing operand'}" shift ;; -[W-]source=*) t=$(expr "$1" : '-.source=\(.*\)') program="$program$n$t" ;; -[W-]source) program="$program$n${2?'missing operand'}" shift ;; -[W-]version) echo igawk: version 3.0 1>&2 gawk --version exit 0 ;; -[W-]*) opts="$opts '$1'" ;; *) break ;; esac shift done if [ -z "$program" ] then program=${1?'missing program'} shift fi # At this point, `program' has the program. expand_prog=' function pathto(file, i, t, junk) { if (index(file, "/") != 0) return file if (file == "-") return file for (i = 1; i <= ndirs; i++) { t = (pathlist[i] "/" file) if ((getline junk < t) > 0) { # found it close(t) return t } } return "" } BEGIN { path = ENVIRON["AWKPATH"] ndirs = split(path, pathlist, ":") for (i = 1; i <= ndirs; i++) { if (pathlist[i] == "") pathlist[i] = "." } stackptr = 0 input[stackptr] = ARGV[1] # ARGV[1] is first file for (; stackptr >= 0; stackptr--) { while ((getline < input[stackptr]) > 0) { if (tolower($1) != "@include") { print continue } fpath = pathto($2) if (fpath == "") { printf("igawk: %s:%d: cannot find %s\n", input[stackptr], FNR, $2) > "/dev/stderr" continue } if (! (fpath in processed)) { processed[fpath] = input[stackptr] input[++stackptr] = fpath # push onto stack } else print $2, "included in", input[stackptr], "already included in", processed[fpath] > "/dev/stderr" } close(input[stackptr]) } }' # close quote ends `expand_prog' variable processed_program=$(gawk -- "$expand_prog" /dev/stdin << EOF $program EOF ) eval gawk $opts -- '"$processed_program"' '"$@"'