This is printed fine ls | xargs -I var sh -c 'echo var | awk "{print $1}"'
while this is not ls | xargs -I var sh -c 'echo var | awk "{print $0}"'
Obviously this is not my use case and is just to reproduce the problem.
So while $0 stands for complete line, it is weird for $0 to not print while $1 gets printed.
Reference OS - Ubuntu 14.04