IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Structure de boucles


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 107
    Par défaut Structure de boucles
    Bonjour,

    Vous voyez une boucle de boucle de type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for  ; do
       for ; do
       done
    done
    Va donner une réponse de type:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    11
    12
    13
    21
    22
    23
    31
    32
    33
    Mais est ce que vous connaîseriez une structure qui donnera

    Bonne journée !

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 815
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par judkil Voir le message
    Mais est ce que vous connaîseriez une structure qui donnera

    connaîseriez ??? C'est le verbe "connaîsoir" au conditionnel? Parce que pour "connaître" c'est "connaîtriez".
    De plus on ne met pas de conditionnel pour une question. Le conditionnel c'est la préposition qui suit une hypothèse. Si tu connaissais l'algorithmie (hypothèse) tu connaîtrais (conditionnel) la réponse. Si vraiment on veut se torturer sa grammaire à imposer un conditionnel inutile, alors on place en amont une hypothèse neutre style "est-ce que par hasard (hypothèse) vous connaîtriez une structure...".

    Voilà pour la partie français qui était la plus difficile. Parce que pour la partie shell c'est une boucle sur i variant de 1 à 3 et on affiche deux fois "$i".
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 107
    Par défaut
    Oui connaîtriez, mince de mince effectivement loooool

    J'ai un de type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for i in liste1 ; do
    	for j in liste2 ;do
        	if $i = $j; then
        		echo $i $j
            fi
        done
    done

    Cela marche avec les nombres, bien sûr mais je voudrais faire pour deux listes en parallèle: la ligne 1 avec la ligne 1 la ligne 2 avec la ligne 2....

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 815
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par judkil Voir le message
    Cela marche avec les nombres, bien sûr mais je voudrais faire pour deux listes en parallèle: la ligne 1 avec la ligne 1 la ligne 2 avec la ligne 2....
    Ah entre "construire une itération" et "lire un (des) fichier(s)" c'est pas la même chose. Ca ressemble à un problème XY.
    Elles sont dans deux fichiers les listes ?
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/bin/bash
     
    exec 3<fic1
    exec 4<fic2
    while true; do
    	read x 0<&3 || break
    	read y 0<&4 || break
    	echo "$x $y"
    done
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 640
    Par défaut
    pour comparer des fichiers, il y a des commandes : comm, diff, ou cmp.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 107
    Par défaut
    Merci je connaissais pas du tout cette notion. Je vais exactement-tout-dire

    Je possède deux listes
    liste1.txt
    DMP
    BEZ

    liste2.txt
    dump
    benza

    et je voudrais quelque chose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Pour DMP# le premier terme
    
    écrire explicite_pose_name-dump.txt # le premier terme
    
    for BEZ # le  deuxième terme
    
    écrire explicite_pose_name-benza.txt # le deuxième terme
    Ce serai quelque chose du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    prendre le-premier-terme de-la-liste-1 
     
    écrire dans le nom  le-premier-terme de-la-liste-2

    Je suis très habituée au boucles, mais ici cela ne marche pas. Je pensais aussi passer par un tableau en rentrant la liste dans un tableau et en appellant par index

  7. #7
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 815
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par judkil Voir le message
    Je pensais aussi passer par un tableau en rentrant la liste dans un tableau et en appellant par index
    Et tu as pensé à regarder mon code précédent ???
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #!/bin/bash
     
    exec 3<"liste1.txt"
    exec 4<"liste2.txt"
    while true; do
    	read x 0<&3 || break
    	read y 0<&4 || break
    	echo "[$x] [$y]"
    done

    Résultat
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [DMP] [dump]
    [BEZ] [benza]
    Après on peut aussi passer par des commandes qui zippent les fichiers. Tu n'as alors plus qu'à lire le résultat...
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #!/bin/bash
     
    while read ligne; do
    	echo "[$ligne]"
    done < <(paste "liste1.txt" "liste2.txt")
    ... mais aussi tu dois le traiter (ie extraire les infos de la ligne).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [DMP	dump]
    [BEZ	benza]
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  8. #8
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 640
    Par défaut
    il n'y a pas de lien apparent entre les données.
    alors, pourquoi ne pas utiliser uniquement le deuxième fichier ?

    de toutes façons, on lit un/des fichier(s) avec une boucle while.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Structure en boucle des fichiers plats.
    Par Domingo60 dans le forum SQL*Loader
    Réponses: 1
    Dernier message: 15/10/2010, 14h29
  2. Callback, structures et boucle
    Par cb450 dans le forum GTK+ avec C & C++
    Réponses: 20
    Dernier message: 23/10/2009, 14h09
  3. Commande Structure et boucle FOR
    Par angelevil dans le forum Windows Forms
    Réponses: 2
    Dernier message: 30/08/2009, 01h10
  4. [AC-2007] Structure de boucle
    Par louroulou dans le forum VBA Access
    Réponses: 3
    Dernier message: 26/08/2009, 09h15
  5. [Débutant] Structure et boucles
    Par rob408231 dans le forum MATLAB
    Réponses: 2
    Dernier message: 05/04/2009, 20h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo