awk by examples
===========================

## Example 1
********************************************************************************

        awk '{
            total=$2+$3+$4;
            avg=total/3;
            if(avg >= 80) grade="A";
            else if(avg >= 60) grade="B";
            else if(avg >= 50) grade="C";
            else grade="D";
            if (grade == "A" || grade == "B")
                print $0,":",grade;
            else
                print $0,": FAIL";      
        }'

Sample Input

        A 25 27 50
        B 35 37 75
        C 75 78 80
        D 99 88 76

Sample Output

        A 25 27 50 : FAIL
        B 35 37 75 : FAIL
        C 75 78 80 : B
        D 99 88 76 : A

## Example 2
********************************************************************************

        awk 'ORS=!(NR%2)?"\n":";"'

Sample Input

        A 25 27 50
        B 35 37 75
        C 75 78 80
        D 99 88 76 

Sample Output

        A 25 27 50;B 35 37 75
        C 75 78 80;D 99 88 76 

## Example 3
********************************************************************************

        awk '{
                if ($2 >= 50 && $3 >= 50 && $4 >= 50)
                        print $1,": Pass";
                else
                        print $1,": Fail";      
        }'


Sample Input

        A 25 27 50
        B 35 37 75
        C 75 78 80
        D 99 88 76

Sample Output

        A : Fail
        B : Fail
        C : Pass
        D : Pass


## Example 4
********************************************************************************

        awk '{
                if($2=="" || $3=="" || $4=="")
                        print "Not all scores are available for "$1
        }'

Sample Input

        A 25 27 50
        B 35 75
        C 75 78 
        D 99 88 76

Sample Output

        Not all scores are available for B
        Not all scores are available for C


********************************************************************************
_BY: Farid Ahmadian_  
_TAG: awk_  
_DATE: 2020-06-02 18:36:39_