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 :

[sh] Exercice concaténation des lignes impaires d'un fichier


Sujet :

Shell et commandes GNU

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2014
    Messages : 11
    Points : 1
    Points
    1
    Par défaut [sh] Exercice concaténation des lignes impaires d'un fichier
    Ecrivez un script convertirtextevershtml.sh qui permet de créer un fichier HTML nomé Fichierresultat.html
    contenant les lignes impaires du fichier texte fichieraconvertir.txt .
    Exemple :
    fichieraconvertir.txt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Toto 
    Titi     
    Tutu    
    Tyty
    Fichierresultat.html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <html><head><title>conversion fichier texte vers html </title></head>
    <body> toto tutu</body></html>

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 803
    Points
    30 803
    Par défaut
    Quel problème rencontres-tu sur l'écriture de ton script ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Mauritanie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2014
    Messages : 11
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par al1_24 Voir le message
    Quel problème rencontres-tu sur l'écriture de ton script ?
    Je doit faire un effort avant de postuler une demande d'aide
    alors , je veux prendre mon temps pour y arrive .
    merci pour votre réponse.

  4. #4
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Bonjour,

    [Pub] Personnellement, je fais ça en une ligne grâce un script sed! [/Pub]

    Le point saillant étant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed '2~2d' fichier.entree.txt
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  5. #5
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 689
    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 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Citation Envoyé par Flodelarab Voir le message
    [Pub] Personnellement, je fais ça en une ligne grâce un script sed! [/Pub]
    Wahou comme tu es trop fort !!!

    Citation Envoyé par Flodelarab Voir le message
    Le point saillant étant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed '2~2d' fichier.entree.txt
    Ouais super. T'as pas l'impression qu'il est débutant et qu'il s'agit d'un exo (ne serait-ce que parce que c'est écrit dans le sujet du topic) ? Et toi tu lui balances une instruction comme ça, sans explication, sans rien. A-t-il d'ailleurs le droit d'utiliser ce genre de programme ? Le but de l'exo ne serait-il pas plutôt de lui apprendre à manipuler les boucles plus les conditionnelles (avec en cerise un petit incrément de variable) pour lui faire détecter les lignes paires/impaires...?

    En plus, ton instruction renvoie les deux lignes sur deux lignes distinctes alors qu'il a besoin de les avoir sur une seule !!!

    Citation Envoyé par ettar Voir le message
    Je doit faire un effort avant de postuler une demande d'aide
    alors , je veux prendre mon temps pour y arrive .
    Le point de départ sera de pouvoir récupérer les lignes de ton fichier texte une à une.
    L'une des façons les plus simples est de traiter le contenu du fichier par un while read en y passant le fichier comme canal d'entrée
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while read ligne
    do
        echo "ligne=[$ligne]"
    done <fichieraconvertir.txt

    Ensuite le reste c'est une petite variable qui permet d'indiquer ligne paire/ligne impaire puis tu n'as plus qu'à construire ton résultat en y concaténant à chaque itération la ligne lue. Et en final tu affiches le résultat dans le bon format...
    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]

  6. #6
    Rédacteur

    Avatar de ok.Idriss
    Homme Profil pro
    IS Consultant
    Inscrit en
    Février 2009
    Messages
    5 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : IS Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 5 220
    Points : 19 452
    Points
    19 452
    Par défaut
    Bonjour.

    Bon les enseignants ne sont pas toujours contre l'utilisation d'outils tels que sed et awk, parfois oui, parfois non (c'est à l'élève de donner un maximum de détails sur les contraintes de l'exercice). Par contre ce qui est certain, c'est que l'étudiant doit toujours maitriser sa solution de bout en bout surtout avec ce genre de technos ou on trouve facilement réponse à toute problématiques sans forcement comprendre la solution trouvée...

    Il est intéressant d'opposer la solution algorithmique "naïve" et des solutions un peu plus poussées et pragmatiques lorsqu'un problème est posé afin d'être le plus exhaustif possible, ce sera enrichissant pour le demandeur d'aide même s'il n'a pas le droit d'utiliser toutes les solutions proposées mais surtout enrichissant pour les internautes qui font des recherches par la suite voire même les forumeurs assidus (j'ai beaucoup appris en regardant les solutions des autres même si j'en ai une à proposer). De même, il est intéressant de confronter différentes approches pour un même problème (en passant par bash uniquement, en passant par grep, par sed, par awk, etc).

    Par contre là ou je suis d'accord avec Sve@r c'est qu'il faut quand même fournir un minimum d'explications surtout lorsqu'il s'agit d'un débutant (j'ai aussi tendance à oublier de commenter ou expliquer certaines commandes, mais dans ce cas faut pas hésiter à le faire ou le rappeler).

    Idriss

  7. #7
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    T'as pas l'impression qu'il est débutant
    J'adore cette phrase. Tu fais partie des gens qui maintiennent la tête des gens sous l'eau en faisant mine de les aider pour pouvoir encore et encore apparaître comme le bon samaritain.

    Je réponds au gens pour débloquer les points compliqués, mais je ne travaille pas à leur place. Qu'ils soient pro, étudiants ou ma grand-mère.
    S'il est débutant, il va se renseigner, lire, apprendre, comprendre, et sur le point particulier présenté ici, il aura une réponse.

    Bonne journée
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

Discussions similaires

  1. DataGridView (Alignement des lignes impaires)
    Par mouloudéen dans le forum VB.NET
    Réponses: 4
    Dernier message: 27/11/2010, 10h38
  2. [Débutant] Concaténer des lignes d'images
    Par TopCao dans le forum MATLAB
    Réponses: 5
    Dernier message: 07/02/2010, 19h58
  3. Concaténation des lignes d'un fichier texte
    Par oranoutan dans le forum C
    Réponses: 9
    Dernier message: 14/07/2008, 19h58
  4. Concaténer des lignes
    Par Wisefool dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 26/02/2008, 16h25
  5. Concaténer des lignes d'enregistrements dans une colonne
    Par dany13 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 08/07/2005, 21h56

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