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: alarm.awk
Close
# alarm.awk --- set an alarm # # Requires getlocaltime() library function # # Arnold Robbins, arnold@skeeve.com, Public Domain # May 1993 # Revised December 2010 # usage: alarm time [ "message" [ count [ delay ] ] ] BEGIN { # Initial argument sanity checking usage1 = "usage: alarm time ['message' [count [delay]]]" usage2 = sprintf("\t(%s) time ::= hh:mm", ARGV[1]) if (ARGC < 2) { print usage1 > "/dev/stderr" print usage2 > "/dev/stderr" exit 1 } switch (ARGC) { case 5: delay = ARGV[4] + 0 # fall through case 4: count = ARGV[3] + 0 # fall through case 3: message = ARGV[2] break default: if (ARGV[1] !~ /[[:digit:]]?[[:digit:]]:[[:digit:]]{2}/) { print usage1 > "/dev/stderr" print usage2 > "/dev/stderr" exit 1 } break } # set defaults for once we reach the desired time if (delay == 0) delay = 180 # 3 minutes if (count == 0) count = 5 if (message == "") message = sprintf("\aIt is now %s!\a", ARGV[1]) else if (index(message, "\a") == 0) message = "\a" message "\a" # split up alarm time split(ARGV[1], atime, ":") hour = atime[1] + 0 # force numeric minute = atime[2] + 0 # force numeric # get current broken down time getlocaltime(now) # if time given is 12-hour hours and it's after that # hour, e.g., `alarm 5:30' at 9 a.m. means 5:30 p.m., # then add 12 to real hour if (hour < 12 && now["hour"] > hour) hour += 12 # set target time in seconds since midnight target = (hour * 60 * 60) + (minute * 60) # get current time in seconds since midnight current = (now["hour"] * 60 * 60) + \ (now["minute"] * 60) + now["second"] # how long to sleep for naptime = target - current if (naptime <= 0) { print "alarm: time is in the past!" > "/dev/stderr" exit 1 } # zzzzzz..... go away if interrupted if (system(sprintf("sleep %d", naptime)) != 0) exit 1 # time to notify! command = sprintf("sleep %d", delay) for (i = 1; i <= count; i++) { print message # if sleep command interrupted, go away if (system(command) != 0) break } exit 0 }