Pourquoi ne pouvez-vous pas utiliser cat pour lire un fichier ligne par ligne, chaque ligne a délimiteurs

J'ai un fichier texte qui contient quelque chose comme ceci:

abc 123, comma
the quick brown fox
jumped over the lazy dog
comma, comma

J'ai écrit un script

for i in `cat file`
do
   echo $i
done

Pour une raison quelconque, la sortie du script n'est pas de sortie le fichier ligne par ligne, mais les sauts de à la des virgules, ainsi que le retour à la ligne. Pourquoi le chat ou le "pour bla dans cat xyz" faire cela et comment puis-je faire il PAS le faire? Je sais que je peux utiliser un

while read line
do
   blah balh blah
done < file

mais je veux savoir pourquoi le chat ou le "bla" est en train de faire ce pour approfondir ma compréhension de commandes unix. Le chat de la page de man ne m'a pas aidé et en regardant ou en boucle dans le bash manuel n'a pas donné toutes les réponses (http://www.gnu.org/software/bash/manual/bashref.html). Merci d'avance pour votre aide.

Rechercher IFS .

OriginalL'auteur Classified | 2013-06-14