Homework of week 5 (Submission deadline: 23:59, Oct. 07, 2025)

  1. Write the shell script to print 9×9 multiplication table; the output should be formatted in the three versions shown below. Just use the lowercase x to represent the multiplication sign in the standard output. The results should contain all of the three versions below.
    Hint: When you format the tables, it might be more convenient to use printf rather than echo. But the final decision is still yours. For the syntax of loop in bash, you can refer here. See also the link for more detailed information about the formatted output.


    The output of 9×9 tables should look like:
    Basic version:

       1   2   3   4   5   6   7   8   9
       2   4   6   8  10  12  14  16  18
       3   6   9  12  15  18  21  24  27
       4   8  12  16  20  24  28  32  36
       5  10  15  20  25  30  35  40  45
       6  12  18  24  30  36  42  48  54
       7  14  21  28  35  42  49  56  63
       8  16  24  32  40  48  56  64  72
       9  18  27  36  45  54  63  72  81 
    


    Advanced version:
    1x1=01 1x2=02 1x3=03 1x4=04 1x5=05 1x6=06 1x7=07 1x8=08 1x9=09
    2x1=02 2x2=04 2x3=06 2x4=08 2x5=10 2x6=12 2x7=14 2x8=16 2x9=18
    3x1=03 3x2=06 3x3=09 3x4=12 3x5=15 3x6=18 3x7=21 3x8=24 3x9=27
    4x1=04 4x2=08 4x3=12 4x4=16 4x5=20 4x6=24 4x7=28 4x8=32 4x9=36
    5x1=05 5x2=10 5x3=15 5x4=20 5x5=25 5x6=30 5x7=35 5x8=40 5x9=45
    6x1=06 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36 6x7=42 6x8=48 6x9=54
    7x1=07 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49 7x8=56 7x9=63
    8x1=08 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64 8x9=72
    9x1=09 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81
    


    Ultimate version:
    1x1=1  1x2=2  1x3=3  1x4=4  1x5=5  1x6=6  1x7=7  1x8=8  1x9=9  
    2x1=2  2x2=4  2x3=6  2x4=8  2x5=10 2x6=12 2x7=14 2x8=16 2x9=18 
    3x1=3  3x2=6  3x3=9  3x4=12 3x5=15 3x6=18 3x7=21 3x8=24 3x9=27 
    4x1=4  4x2=8  4x3=12 4x4=16 4x5=20 4x6=24 4x7=28 4x8=32 4x9=36 
    5x1=5  5x2=10 5x3=15 5x4=20 5x5=25 5x6=30 5x7=35 5x8=40 5x9=45 
    6x1=6  6x2=12 6x3=18 6x4=24 6x5=30 6x6=36 6x7=42 6x8=48 6x9=54 
    7x1=7  7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49 7x8=56 7x9=63 
    8x1=8  8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64 8x9=72 
    9x1=9  9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81 
    
    

    Note: If you did something weird and got stuck under bash without getting the shell-prompt returned, you can hit Ctrl-C to quit the process and get the prompt returned.
    jsyu@Ukko:~$ grep "[ugd][0-9a][0-9]\{6\}" /etc/passwd | awk -F: '{ print something wrong here }'
    >
    >
    >
    > ^C
    jsyu@Ukko:~$
    

    For the use of xargs, see also https://blog.gtwang.org/linux/xargs-command-examples-in-linux-unix PDF cache