Since you mention SMB, I am assuming the files come from a Windows machine of some sort. Chances are that the files have DOS line endings, but your script is running on Solaris, which is assuming *nix line endings. Try running the file through a dos2unix utility to change the line endings first.