#!/bin/awk -f NR == FNR{ if(NF < 2) exit NR ": invalid record " $0 for(i=2; i<=NF; i++) t[$i] = t[$i] $1 } NR != FNR{ if($1 == "") next for(i=1; i<=length($0)+1; i++) printf "\x08" if(t[$1] != ""){ s = t[$1] if($2 ~ /^[0-9]+$/ && $2 <= length(s)) s = substr(s, $2, 1) printf "%s", s } fflush }