fork download
  1. # usage: awk -f fizzbuzzGen.awk > fizzbuzzCustom.awk
  2. # or: gawk -f fbGen.awk fb1.txt > fizzbuzzCustom.awk
  3. #
  4. function Print(s) {
  5. print s > "/dev/stderr"
  6. }
  7. BEGIN { Print( "# FizzBuzz-Generate:" )
  8. q2 = "\""
  9. fN = "numbers.txt"
  10. #fP = "fizzbuzzCustom.awk"
  11. }
  12.  
  13. NF==1 { Print( "# " $1 " Numbers:" )
  14. for( i=1; i <= $1; i++ )
  15. print( i ) #> fN
  16. ##print >"output.txt"
  17.  
  18. Print( "# Custom program:" )
  19. print "BEGIN {print "q2"# CustomFizzBuzz:"q2"} \n"
  20. next
  21. }
  22.  
  23. NF==2 { Print( "# " $1 "-->" $2 ) ##
  24. print "$1 % "$1" == 0 {x = x "q2 $2 q2 "}"
  25. next
  26. }
  27.  
  28. END {
  29. print ""
  30. print "!x {print $1; next}"
  31. print " {print " q2 " " q2 ", x; x=" q2 q2 "}"
  32.  
  33. print " \nEND {print " q2 "# Done." q2 "}"
  34. Print( "# Done." )
  35. }
Success #stdin #stdout #stderr 0s 5840KB
stdin
16
3 Fiz
5 Buzz
7 Crash
stdout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
BEGIN {print "# CustomFizzBuzz:"} 

$1 %  3 == 0 {x = x "Fiz"}
$1 %  5 == 0 {x = x "Buzz"}
$1 %  7 == 0 {x = x "Crash"}

!x  {print $1; next}
    {print " ", x; x=""}
 
END {print "# Done."}
stderr
# FizzBuzz-Generate:
# 16 Numbers:
# Custom program:
# 3-->Fiz
# 5-->Buzz
# 7-->Crash
# Done.