This is a draft cheat sheet. It is a work in progress and is not finished yet.
                    
        
                
        
            
                                
            
                
                                                | AWK - Origin
                        
                                                                                    
                                                                                            | The name AWK comes from the last initials of its creators Alfred V. Aho, Peter J. Weinberger, and Brian W. Kernighan. |  Where AWK is available ?
                        
                                                                                    
                                                                                            | AWK is preinstalled in most UNIX variants. Just we need to type  awk
  in the command line. |  
                                                                                            | On Windows we need to install "Cygwin" or "UnixUtils"to use AWK |  Why we use AWK ?
                        
                                                                                    
                                                                                            | AWK is a domain-specific language designed for text processing and typically used as a data extraction and reporting tool. It is used for manipulating text files which are devided into records or lines, and each line is devided into fields. It doesn't require that every line have the same format. But if a file is more structured like spreadsheet or a database, then we can do many things with it.
 |  AWK Operations
                        
                                                                                    
                                                                                            | Find interesting records in a data file. |  
                                                                                            | Print or save specific fields. |  
                                                                                            | Perform manipulations like swapping the order of fields or combining them into one field. |  
                                                                                            | Sophisticated data operations like join. |  AWK Versions
                        
                                                                                    
                                                                                            | Name | Release Year |  
                                                                                            | Original awk | 1978 |  
                                                                                            | One True Awk or nawk or BWK awk | 1985 |  
                                                                                            | GNU awk or gawk | 1990 |  |  | AWK "Hello World" Example
                        
                                                                                    
                                                                                            | awk 'BEGIN {print "Hello world"}' >>> Hello world
 |  Print specific fields from a text file
                        
                                                                                    
                                                                                            | Soppose a file "names.txt" containing the following lines : |  
                                                                                            | Albert Einstein Barak Obama
 Steve Jobs
 |  
                                                                                            | Each line is composed of two fields which are firstname and lastname. We want to print these fields in the opposite order : Lastname followed by Firstname. |  
                                                                                            | awk '{print $2, $1} names.txt' >>> Einstein Albert
 >>> Obama Barak
 >>> Jobs Steve
 |  
                                                                                            | Suppose  N = number of fields per line
  We get each field by  "$n"
  where  n in [1 .. N] 
  So, what if we rewrite the previous command without a comma ? Let's see an example. |  
                                                                                            | awk '{print $2 $1} names.txt' >>> EinsteinAlbert
 >>> ObamaBarak
 >>> JobsSteve
 |  
                                                                                            | What we got is a concatenation of the two fields. |  Print a comma between two fields (concatenation)
                        
                                                                                    
                                                                                            | Let take names.txt as a file example and print a comma between the firstname and the lastname. |  
                                                                                            | awk print{$1 "," $2} >>> Albert,Einstein
 >>> Barak,Obama
 >>> Steve,Jobs
 |  |  | Print full lines from a file
                        
                                                                                    
                                                                                            | Let take the previous text file names.txt as an example: |  
                                                                                            | awk '{print $0}' names.txt >>> Albert Einstein
 >>> Barak Obama
 >>> Steve Jobs
 |  
                                                                                            | Or we can also simply write the following  command: |  
                                                                                            | awk '{print}' names.txt >>> Albert Einstein
 >>> Barak Obama
 >>> Steve Jobs
 |  Print each line with its number of fields
                        
                                                                                    
                                                                                            | Let take the following file awk.txt: |  
                                                                                            | AWK is awesome Let learn AWK together
 AWK is used for text processing
 |  
                                                                                            | We use NF to count and print the number of fields of each line. |  
                                                                                            | awk '{print NF , $0}' awk.txt >>> 3 AWK is awesome
 >>> 4  Let learn AWK together
 >>> 6 AWK is used for text processing
 |  Specify the number of field
                        
                                                                                    
                                                                                            | We want to print Lines that contain exactly 6 fields in awk.txt, so we can use one of the following two commands: |  
                                                                                            | awk NF == 6 '{print $0}' >>> AWK is used for text processing
 awk 'NF ==6'
 >>> AWK is used for text processing
 |  |