On Mon, Jan 15, 2018 at 02:20:38PM -0800, Stephen Hemminger wrote: > On Mon, 15 Jan 2018 14:05:45 -0500 > Neil Horman <nhor...@tuxdriver.com> wrote: > > > > > +build_map_changes() > > +{ > > + local fname=$1 > > + local mapdb=$2 > > + > > + cat $fname | filterdiff -i *.map | awk ' > > You don't need cat, use shell redirection same for later while loop. > This is likely moot given Thomas' request to put this in a separate script, but point taken
> > + BEGIN {map="";sym="";ar="";sec=""; in_sec=0} > > + /[-+] a\/.*\.map/ {map=$2} > > + /+.*{/ {gsub("+","");sec=$1; in_sec=1} > Add some whitespace and indentation to awk? Yeah, I can document this block as a whole as well > > > + /.*}/ {in_sec=0} > > + /^+.*[^:*];/ {gsub(";","");sym=$2; > > + if (in_sec == 1) { > > + print map " " sym " " sec " add" > > + } > > + } > > + /^-.*[^:*];/ {gsub(";","");sym=$2; > > + if (in_sec == 1) { > > + print map " " sym " " sec " del" > > + } > > + }' > ./$mapdb > > + > > + sort $mapdb | uniq > ./$mapdb.2 > > sort -u Copy that. > > > + mv -f $mapdb.2 $mapdb > > + > > +} > > + >