Traiter le fichier délimité par tabulation et enregistrer chaque colonne comme variable

J’ai un feadList délimité par des feadList qui a deux colonnes ( date + id ):

 20130509 1319 20130510 1320 20130511 1321 20130512 1322 20130513 1323 

Lors de la lecture de chaque ligne, je souhaite courber les données d’un lien Web en utilisant id puis les enregistrer dans un fichier avec la date comme nom de fichier. Pour l’instant j’ai quelque chose comme:

 for feed in $feadList do awk -F "\t" '{print date=$1, seq=$2}' $feed curl "$WebLink/$seq/data" > $date done 

mais apparemment ça ne marche pas. Les gars apportent un peu de lumière là-dessus? Merci!

Une autre façon de le faire serait

 while read date seq do curl "$WebLink/$seq/data" > $date done < feadList 
 while read date seq do curl "$WebLink/$seq/data" > $date done < feadList 

La commande read (un shell intégré) divise les lignes de données en deux champs assignés à $date et $seq , puis vous pouvez les utiliser dans le corps de la boucle. S'il y avait des champs supplémentaires sur une ligne, ils seraient également enregistrés dans $seq .

Vos notations de shell ne vont tout simplement pas fonctionner comme vous en avez besoin. La boucle serait exécutée exactement une fois avec la valeur dans la variable $feadList (qui est distincte de feadList tant que nom de fichier). La commande awk produirait une sortie standard sur une ligne pour chaque ligne d'entrée, contenant les données fractionnées. Mais ce serait une sortie simple ... il n'y aurait pas d'affectation aux variables shell $date et $seq , et la commande curl ne fonctionnerait pas comme prévu.