So, read f picks up the first line of the output, then awk processes the
remainder of it. What you could do instead is just get rid of your
while loop, and pipe the find command directly to your awk like this:
#!/bin/bash
find . -name '*.[jJ]*' |
awk -F/ '{file=sprintf("%s%s%s",$2,"_",$4); print file; sub($4,
file); sub("JPG", "jpg"); print $0}'
Tim