Text Processing (Grep/Sed/Awk)
Stop wrestling with fixed-width logs using cut
🧩 The Challenge
Dealing with those ancient log files where columns are aligned by spaces instead of tabs is a nightmare, especially when fields change length and break your column counting. I’ve wasted way too much time debugging scripts that died just because a PID grew by one digit.
💡 The Fix
Forget counting character positions with cut and start treating your log lines as data streams with awk. It automatically handles multiple spaces as a single delimiter, saving your sanity when formats get messy.
awk '{print $1, $4, $9}' /var/log/some-messy-log.log
⚙️ Why It Works
Setting the default behavior of awk means it treats any run of whitespace as a field separator, so it doesn’t matter if your columns are jagged or misaligned. The logic stays bulletproof even if the log file formatting is inconsistent.
🚀 Pro-Tip: If you need to output those fields for a CSV file later, just tack on -v OFS=, at the start.
Linux Tips & Tricks | © ngelinux.com | 10/12/2026
