#!/usr/bin/env awk
BEGIN {
# helper
if ( !ARGV[2] || ARGV[1] == "--help" )
{
print "\nUsage: awk -f film.awk [speed in second] [how many cycles] [cursorup] [bash clear]\n"
print "\n[cursorup]: 0, no tput cuu1; 1, yes tput cuu1"
print "\n[bash clear]: 0, tput clear; 1, clear; command for each cycle"
print "\n[bash clear]: 2, tput clear; 3, clear; command for each print"
exit 1
}
# parameters
pos = 0
sec = ARGV[1]
how = ARGV[2]
cup = ARGV[3]
bas = ARGV[4]
"tput clear" | getline Clear;
"tput cuu1" | getline CursorUp;
data[1] = "|"
data[2] = "/"
data[3] = "-"
data[4] = "\\"
# main
for ( ; pos <= how; pos++ )
{
clearEcho( 0 )
for ( c in data )
{
clearEcho( 2 )
print data[c]
if ( cup )
printf CursorUp
system( "sleep "sec )
}
}
}
# function
function clearEcho ( ori )
{
if ( !ori )
{
ori = 0
num = 1
}
else
num = ori + 1
if ( bas == ori )
printf Clear;
else
if ( bas == num )
system( "clear" )
if ( bas == ori || bas == num )
print "cycle "pos
}