Création d'un fichier texte en Shell
Résolu
daerkhil
-
daerkhil -
daerkhil -
Bonjour,
J'aurais besoin de créer un fichier texte qui soit constitué de plusieurs centaines de lignes, avec à chaque fois le changement de 2 valeurs numériques.
Pour résumer une boucle qui fasse quelque chose comme
Pour(i=1;i<200;i++){
Ecrire : [Commande] val1 val2 val3*i val4+val5*i
}
Donc en fait je voudrais savoir comment réaliser cette itération, je sais à peu près créer le fichier, concaténer une chaine de caractère mais par contre je sais pas du tout comment "créer" la chaine de caractères voulue.
Voilà je suis vraiment mauvais en Shell je sais juste que ça existe. Merci d'avance !
J'aurais besoin de créer un fichier texte qui soit constitué de plusieurs centaines de lignes, avec à chaque fois le changement de 2 valeurs numériques.
Pour résumer une boucle qui fasse quelque chose comme
Pour(i=1;i<200;i++){
Ecrire : [Commande] val1 val2 val3*i val4+val5*i
}
Donc en fait je voudrais savoir comment réaliser cette itération, je sais à peu près créer le fichier, concaténer une chaine de caractère mais par contre je sais pas du tout comment "créer" la chaine de caractères voulue.
Voilà je suis vraiment mauvais en Shell je sais juste que ça existe. Merci d'avance !
A voir également:
- Création d'un fichier texte en Shell
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Classic shell - Télécharger - Personnalisation
2 réponses
avant tout, je tien à préciser que je ne connais pas shelle, et que je n'ai pas le temps de l'apprendre. cependant, ta façon de faire me semble un peu déplacée.
Shell gère les variables (ça je suis sûr)
j'imagine que shell gère la concaténation
du coup : il te faut un code de ce genre :
ta boucle
{
$valeur = $valeur + $supplement
}
echo -n $valeur >> fichier.txt
le + étant à remplacer par la concaténation correctement effectuée
Shell gère les variables (ça je suis sûr)
j'imagine que shell gère la concaténation
du coup : il te faut un code de ce genre :
ta boucle
{
$valeur = $valeur + $supplement
}
echo -n $valeur >> fichier.txt
le + étant à remplacer par la concaténation correctement effectuée
Oui mais le but c'est de créer un fichier texte pour un programme très sensible à la casse, donc j'aimerais avoir une partie "fixe" et seulement une partie qui change...
ben oui...
je t'ecris ça en pseudo Shell, je te laisse le soin de restaurer la syntaxe qui va bien.
les . servent de concaténation
je t'ecris ça en pseudo Shell, je te laisse le soin de restaurer la syntaxe qui va bien.
$valeur = "" for(i=1;i<200;i++) { $supplement = "[Commande]" . $val1 . $val2 . $val3*$i . $val4+$val5*$i $valeur = $valeur + $supplement } echo -n $valeur >> fichier.txt
les . servent de concaténation
@ Templier Nocturne : ça sent le PHP tout ça ;-)
@daerkhil
Voila quelque chose qui devrait te convenir :
@daerkhil
Voila quelque chose qui devrait te convenir :
#!/bin/bash PN=$(basename $0) #Vérifie la présence de l'argument : le fichier de sortie if [ $# -ne 1 ] then echo "description" echo "Usage : $PN output_file" exit fi #Définition des variables val1='valeur1' val2='valeur2' val3=3 val4=5 val5=7 echo "Fichier en cour d'écriture..." # La boucle principale for ((i=1; i<=200; i++)) do echo [Commande] $val1 $val2 $[$val3 + $i] $[$val4 + $val5 * $i] >>$1 done echo "Terminé"