DEV Community

Pavol Z. Kutaj
Pavol Z. Kutaj

Posted on

How to Print the Last Field in Bash with awk

USECASE

The aim of this pageđź“ť is to explain how to print the last field in a line of text using bash, when the number of fields varies. I was planning to use cut but learned that I need awk at the end.

  • Tools Needed: awk, cut.
  • Goal: Print the last field of varying field count lines.
  • Why: cut is limited to fixed fields.
  • Solution: Use awk for dynamic field handling.

Steps

  1. Understanding cut: Handles fixed number of fields.
  2. Limitation: cut can't handle varying fields.
  3. Solution Overview: Use awk to overcome cut limitations.
  4. Basic awk Syntax: awk '{print $NF}'.
  5. Example: echo "one two three four" | awk '{print $NF}'.
  6. Explanation:
    • echo "one two three four": Simulates text input.
    • awk '{print $NF}': Prints last field.
  7. File Input: Handle files line by line.
  8. File Example:
   cat filename.txt | awk '{print $NF}'
Enter fullscreen mode Exit fullscreen mode
  • Explanation:
    • cat filename.txt: Reads file content.
    • awk '{print $NF}': Prints last field of each line.
  • Practical Application: Use in scripts for dynamic data processing.

Top comments (0)