#!/bin/awk -f function trim1(s) { gsub(/^[\t ]*|[\t ]*$/, "", s); return s } function trim2(s) { gsub(/^[\t ]+|[\t ]+$/, "", s); return s } function trim(s) { printf("ORIGINAL: [%s]\n", s); printf("TRIM1: [%s]\n", trim1(s)); printf("TRIM2: [%s]\n", trim2(s)); } BEGIN { trim("pff"); trim(" leading-space"); trim("trailing-space "); trim("\tleading-tab"); trim("traling-tab\t"); exit(0); }