Contenu d'un chaîne séparer par ";" (CSV) [BASH] - Shell/Batch - Programmation
Marsh Posté le 17-11-2005 à 01:13:52
une piste: for /?
Code :
|
Marsh Posté le 17-11-2005 à 22:43:02
Je crois que la bonne réponse d'art_dupond est pour Windows/DOS, alors que la question est pour bash qui est un shell Unix.
Donc une solution pour Unix est (non testé):
cat nom_du_fichier.csv | while read la_ligne |
(Mais matafan va nous donner sans doute une meilleure solution )
Marsh Posté le 18-11-2005 à 04:42:40
On peut éviter l'usage multiple de cut en utilisant le "word splitting" du shell. Par exemple :
#!/bin/sh |
Edit : typo
Marsh Posté le 18-11-2005 à 07:04:15
Ou selon ce qu'on veut faire des champs récupérés, utiliser awk peut être avantageux.
Marsh Posté le 16-11-2005 à 22:17:39
Bonjour
Voilà j'ai un fichier de type CSV avec des mot séparer par des ";" (exemple d'un ligne : 1;champ1;champ2;champ3 )
Dans mon programme je fait une recherche et il me retourne par exemple 3 ligne contenant ce que je recherche :
1;champ1;champ2;champ3
5;champ1;champ2;champ3
6;champ1;champ2;champ3
J'aimerai pour chaque ligne mettre dans 4 variables ce qu'il y a entre les ";" et ce qui me donnerai pour la première réponse :
var1 = 1
var2 = champ1
var3 = champ2
var4 = champ3
que je pourrai ensuite exploiter ...
Auriez-vous une idée pour réaliser ceci ?
Merci
---------------
flick r