====== AWK - Display line before the matching string ====== awk '/the_string/{print x};{x=$0}' file.txt **NOTE:** This starts at the bottom of the file searching upwards and once it finds the search string it displays everything else above. ---- ====== Example ====== Assuming a file, **test.txt**, exists with the following contents: 10 Peter Terence Roux 45 11 Virginia Genevieve Roux 45 12 Felix Devon Roux 5 13 David Bruce Stevenson 48 14 Bob James Smith 16 48 Adam Winter Ridley 23 Running awk '/Peter/{print x};{x=$0}' test.txt returns: **NOTE:** As there is no line about row 10, which contains the search string **Peter**, an empty line is added to the result. ---- Running awk '/Roux/{print x};{x=$0}' test.txt returns: 10 Peter Terence Roux 45 11 Virginia Genevieve Roux 45 **NOTE:** As there is no line about row 10, which contains the search string **Roux**, an empty line is added to the result. Row 11 has the the search string **Roux**, results in the line above, row 10, being added to the result; even though row 10 also contains the search string. Row 12 has the the search string **Roux**, results in the line above, row 11, being added to the result; even though row 10 also contains the search string. No further rows contain the search string so nothing else is added to the output. ---- Running awk '/4/{print x};{x=$0}' test.txt returns: 10 Peter Terence Roux 45 12 Felix Devon Roux 5 13 David Bruce Stevenson 48 14 Bob James Smith 16 ----