------------------------------------------------------------------------ read ------------------------------------------------------------------------ read reads a full line (default) or up to the full line The default IFS is " +", one or more space (includes tab) $ cat Kitty.txt Hello,my name is Kitty. What is your name? My name is Ditty #this is a tab 1, 2, 3 #this is a series of space $ cat doit #!/bin/bash while read line do echo $line done < $1 $ ./doit cat.txt Hello,my name is Kitty. What is your name? My name is Ditty #note all extra blanks have been deleted 1, 2, 3 $ cat doit #!/bin/bash while read p1 p2 do echo $p2 done < $1 $ ./doit cat.txt name is Kitty. is your name? name is Ditty 2, 3 You can change IFS to "," to read csv files and so on.