How to Print the Last Field in Bash with awk
Pavol Z. Kutaj

Pavol Z. Kutaj @pkutaj

About: A public interface of my current learnings. The focus is on everything from vim, python to cloud. Imperfect. Impersonal. Never too far from my terminal.

Location:
Brno, Czech Republic
Joined:
Jan 26, 2021

How to Print the Last Field in Bash with awk

Publish Date: Dec 3 '24
0 0

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.

Comments 0 total

    Add comment