Lire un fichier ligne par ligne, ligne dans $var et encore plus
Résolu/Fermé
LezardMoo
Messages postés
554
Date d'inscription
mercredi 5 janvier 2011
Statut
Membre
Dernière intervention
21 janvier 2015
-
4 oct. 2012 à 14:43
LezardMoo Messages postés 554 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 21 janvier 2015 - 4 oct. 2012 à 15:56
LezardMoo Messages postés 554 Date d'inscription mercredi 5 janvier 2011 Statut Membre Dernière intervention 21 janvier 2015 - 4 oct. 2012 à 15:56
A voir également:
- Lire un fichier ligne par ligne, ligne dans $var et encore plus
- Hors ligne instagram - Guide
- Aller à la ligne excel - Guide
- Vente en ligne particulier - Guide
- Partage de photos en ligne - Guide
- Lire le coran en français pdf - Télécharger - Histoire & Religion
2 réponses
Yakuru
Messages postés
78
Date d'inscription
lundi 1 octobre 2012
Statut
Membre
Dernière intervention
4 octobre 2012
24
4 oct. 2012 à 14:47
4 oct. 2012 à 14:47
Salut,
Je comprends pas ton soucis. Vu que tu arrives à le faire pour les 50 premières, tu peux faire de même pour la suite ?
Je comprends pas ton soucis. Vu que tu arrives à le faire pour les 50 premières, tu peux faire de même pour la suite ?
LezardMoo
Messages postés
554
Date d'inscription
mercredi 5 janvier 2011
Statut
Membre
Dernière intervention
21 janvier 2015
14
4 oct. 2012 à 14:55
4 oct. 2012 à 14:55
ouep je sais c'est con xD
je n'arrive pas a voir comment je peux faire pour continuer justement...
voila le script en partie:
je n'arrive pas a voir comment je peux faire pour continuer justement...
voila le script en partie:
#!/bin/bash ## var connexion DB echo "choix du fichier" read file if [ ! $file ] ; then echo "le fichier n'existe pas" else line=1 while [ $line -lt 50 ] do req='head -$line $file' mysql --host --user --password --host base -e "$req" done fi
Yakuru
Messages postés
78
Date d'inscription
lundi 1 octobre 2012
Statut
Membre
Dernière intervention
4 octobre 2012
24
4 oct. 2012 à 14:58
4 oct. 2012 à 14:58
Et pourquoi ne pas utiliser une autre variable, que tu incrémentes à chaque tour de boucle, et lorsqu'elle arrive à 50, tu fais ton sleep, puis tu remet à 0 cette variable ?
Du coup, tu lis ton fichier en entier dans ton while, et tu utilises cette variable pour gérer la lecture (et l'exécution de tes requêtes) 50 par 50.
Du coup, tu lis ton fichier en entier dans ton while, et tu utilises cette variable pour gérer la lecture (et l'exécution de tes requêtes) 50 par 50.
LezardMoo
Messages postés
554
Date d'inscription
mercredi 5 janvier 2011
Statut
Membre
Dernière intervention
21 janvier 2015
14
4 oct. 2012 à 15:00
4 oct. 2012 à 15:00
carrément pas bête :D
mais tu pourrait me donner un petit exemple please?
mais tu pourrait me donner un petit exemple please?
Yakuru
Messages postés
78
Date d'inscription
lundi 1 octobre 2012
Statut
Membre
Dernière intervention
4 octobre 2012
24
4 oct. 2012 à 15:10
4 oct. 2012 à 15:10
Pas de soucis
Un tuto de lecture de fichier https://forums.commentcamarche.net/forum/affich-37620017-comment-lire-un-fichier-ligne-par-ligne
Quelque chose comme ça je dirais. J'ai fais ça vite fais, juste pour te donner l'idée, mais la syntaxe est peut être pas top.
Un tuto de lecture de fichier https://forums.commentcamarche.net/forum/affich-37620017-comment-lire-un-fichier-ligne-par-ligne
SQL_exec=0 while read ligne do commande sql SQL_exec = 'expr $SQL_exec + 1' if [ $SQL_exec -eq 50 ] then sleep 30 SQL_exec=0 fi done < fichier
Quelque chose comme ça je dirais. J'ai fais ça vite fais, juste pour te donner l'idée, mais la syntaxe est peut être pas top.
LezardMoo
Messages postés
554
Date d'inscription
mercredi 5 janvier 2011
Statut
Membre
Dernière intervention
21 janvier 2015
14
4 oct. 2012 à 15:17
4 oct. 2012 à 15:17
ok merci :)
et pourquoi tu fait pas un SQL_exec+=1 ??
et donc la une fois le SQL_exec arriver à 50 hop on passe à la ligne 51 ?
je savais bien que mon head machin chose était foireux xD
et pourquoi tu fait pas un SQL_exec+=1 ??
et donc la une fois le SQL_exec arriver à 50 hop on passe à la ligne 51 ?
je savais bien que mon head machin chose était foireux xD
Yakuru
Messages postés
78
Date d'inscription
lundi 1 octobre 2012
Statut
Membre
Dernière intervention
4 octobre 2012
24
4 oct. 2012 à 15:21
4 oct. 2012 à 15:21
J'ai un doute sur le +=1, de mémoire, ça passe pas sur tous les environnements, à tester sur le tiens :)
En fait, avec le while read ligne, tu vas lire tout ton fichier (je te laisse voir le tuto de CCM que je t'ai linké). Comme ça, tu vas lire ton fichier ligne par ligne, exécuter ta commande SQL (donc comme tu avais mis dans ton script), et également incrémenter une variable pour compter le nombre de commande que tu as exécuté. Il te suffit alors de réaliser un sleep toute les X commandes exécutées, puis en sortant du if, le script va continuer de parcourir le while, donc de lire ton fichier ligne par ligne.
J'ai pas la possibilité de le tester par contre, donc tout est théorique pour le moment, mais j'aurais fais comme ça.
En fait, avec le while read ligne, tu vas lire tout ton fichier (je te laisse voir le tuto de CCM que je t'ai linké). Comme ça, tu vas lire ton fichier ligne par ligne, exécuter ta commande SQL (donc comme tu avais mis dans ton script), et également incrémenter une variable pour compter le nombre de commande que tu as exécuté. Il te suffit alors de réaliser un sleep toute les X commandes exécutées, puis en sortant du if, le script va continuer de parcourir le while, donc de lire ton fichier ligne par ligne.
J'ai pas la possibilité de le tester par contre, donc tout est théorique pour le moment, mais j'aurais fais comme ça.