Parser un fichier csv en bash
Résolu/Fermé
maxfbt
-
18 juil. 2013 à 12:40
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 18 juil. 2013 à 17:36
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 18 juil. 2013 à 17:36
A voir également:
- Parser un fichier csv en bash
- Fichier rar - Guide
- Fichier host - Guide
- Fichier iso - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
3 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 407
18 juil. 2013 à 13:25
18 juil. 2013 à 13:25
Salut,
Pourquoi tes deux commandes diffèrent ? (le pipe dans la seconde)
A quoi sert le 'line="$monoccurrence"' ?
Pourquoi tes deux commandes diffèrent ? (le pipe dans la seconde)
A quoi sert le 'line="$monoccurrence"' ?
Merci pour ta réponse zipe31.
J'ai tenté de chaîner l'action de copier les fichiers avec un pipe.
En effet j'ai d'abord testé ça :
Mais ça ne marche pas...
Le csv est composé d'un nom de fichier par ligne (toto.xml, titi.xml, tata.xml, etc.)
Mon script arrive bien à parser mon fichier csv et à trouver un fichier, mais je n'arrive pas exécuter la commande suivante, à savoir copier le fichier trouvé dans mon répertoire local.
J'ai tenté de chaîner l'action de copier les fichiers avec un pipe.
En effet j'ai d'abord testé ça :
#!/bin/sh while IFS=';' read monoccurrence do line="$monoccurrence" find . ! -regex ".*/\..*" -name "$line" -print -exec cp {} ~/Desktop/monrep done < fichiersource.csv
Mais ça ne marche pas...
Le csv est composé d'un nom de fichier par ligne (toto.xml, titi.xml, tata.xml, etc.)
Mon script arrive bien à parser mon fichier csv et à trouver un fichier, mais je n'arrive pas exécuter la commande suivante, à savoir copier le fichier trouvé dans mon répertoire local.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 407
18 juil. 2013 à 14:27
18 juil. 2013 à 14:27
Essaie de rajouter un echo devant la commande "cp" afin de voir ce qui pourrait clocher ;-\
Je me répète : A quoi sert le 'line="$monoccurrence"' ?
#!/bin/sh while IFS=';' read monoccurrence do line="$monoccurrence" find . ! -regex ".*/\..*" -name "$line" -print -exec echo "cp {} ~/Desktop/monrep" done < fichiersource.csv
Je me répète : A quoi sert le 'line="$monoccurrence"' ?
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
Modifié par dubcek le 18/07/2013 à 15:42
Modifié par dubcek le 18/07/2013 à 15:42
hello
il manque un
il manque un
\;à la fin du find,non ?
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 407
Modifié par zipe31 le 18/07/2013 à 17:36
Modifié par zipe31 le 18/07/2013 à 17:36
Rhâ le boulet que je fais ;-((
Merci dubcek ;-))
Merci dubcek ;-))
18 juil. 2013 à 13:59