#!/bin/sh pattern="$1"; shift if [ $# -eq 1 ]; then awk ' { if (match($0, pattern)) { print patmatch = "" for( k = 1; k <= RLENGTH; k++) patmatch = patmatch "^" printf("%"RSTART-1"s" "%-s\n","", patmatch) } }' pattern="$pattern" $* else # input from stdin awk ' { if (match($0, pattern)) { print patmatch = "" for( k = 1; k <= RLENGTH; k++) patmatch = patmatch "^" printf("%"RSTART-1"s" "%-s\n","", patmatch) } }' pattern="$pattern" <&0 fi