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)