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 :

Script shell-Lecture de certaines chaines de caractères de plusieurs fichiers, dans un ordre précis


Sujet :

Shell et commandes GNU

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Script shell-Lecture de certaines chaines de caractères de plusieurs fichiers, dans un ordre précis
    Bonjour à tous !
    3 ou 4e fois que je code du shell et donc 3 ou 4e fois que je viens bénéficier de vos compétences (généreusement partagées )

    Pour info je travaille sur Windows et passe par Cygwin.

    Je dispose de 4 fichiers .txt dans le même répertoire, chacun constitué de 2 colonnes et possédant le même nombre de lignes.

    Je souhaite écrire un fichier avec 5 colonnes contenant:
    -Les 2 colonnes du fichier n°1
    -La seconde colonne des autres fichiers

    et obtenir le tout sous forme d'un beau tableau.
    Après avoir passé une bonne après midi la dessus je n'ai pas réussi à obtenir ce résultat précis, merci donc de bien vouloir me filer un petit coup de pouce s'il vous plait!

    Merci d'avance ladies and gentlemen

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 585
    Points : 19 462
    Points
    19 462
    Par défaut
    Bonjour,

    Je souhaite écrire un fichier avec 5 colonnes contenant:
    -Les 2 colonnes du fichier n°1
    -La seconde colonne des autres fichiers
    ça, c'est un travail pour awk; en testant NR pour savoir si on lit le premier fichier ou les autres, et en construisant un tableau avec les différentes données, avec FNR en tant qu'index.

  3. #3
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Points : 7 842
    Points
    7 842
    Par défaut
    Citation Envoyé par Ladoll Voir le message
    Après avoir passé une bonne après midi la dessus je n'ai pas réussi à obtenir ce résultat précis
    Peux-tu nous montrer le code que tu as écrit ?

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 721
    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 721
    Points : 31 044
    Points
    31 044
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    paste fic1 fic2 fic3 fic4 | awk '{printf("%s %s %s %s %s\n", $1, $2, $4, $6, $8)}'

  5. #5
    Expert éminent sénior Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 302
    Points : 12 798
    Points
    12 798
    Par défaut
    Bonjour,
    Un autre exemple en builtin assez interressante coté apprentissage:
    Les fichiers utilisés pour l'exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    $ more f[1-4].txt
    ::::::::::::::
    f1.txt
    ::::::::::::::
    B1 2A
    B1 2B
    B1 2C
    B1 2D
    ::::::::::::::
    f2.txt
    ::::::::::::::
    C3 4D
    C3 4E
    C3 4F
    C3 4G
    ::::::::::::::
    f3.txt
    ::::::::::::::
    C5 6D
    C5 6E
    C5 6F
    C5 6G
    ::::::::::::::
    f4.txt
    ::::::::::::::
    C7 8D
    C7 8E
    C7 8F
    C7 8G
    Le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $ exec 3<f1.txt 4<f2.txt 5<f3.txt 6<f4.txt;while read -u 3 a;read -u 4 c d;read -u 5 e f;read -u 6 g h;do echo "$a $d $f $h";done;exec 3<&- 4<&- 5<&- 6<&-
    B1 2A 4D 6D 8D
    B1 2B 4E 6E 8E
    B1 2C 4F 6F 8F
    B1 2D 4G 6G 8G

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Merci à tous pour vos réponses. Je n'aurai pas le temps de m'y plonger aujourd'hui mais je tenais dors et déjà à vous remercier.

    Je vous tiens au courant!

    Bon lundi!

  7. #7
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 721
    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 721
    Points : 31 044
    Points
    31 044
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Ladoll Voir le message
    Merci à tous pour vos réponses. Je n'aurai pas le temps de m'y plonger aujourd'hui mais je tenais dors et déjà à vous remercier.
    D'ores et déjà !!!
    Etant donné que tu n'as pas fait de faute de conjugaison au futur du verbe avoir (en effet, beaucoup écrivent à tort "je n'aurais") je pense que tu aimes bien écrire correctement et donc je tenais à t'informer de ton erreur car je suis certain que tu en feras bon usage...

Discussions similaires

  1. [XL-2007] récupérer chaine de caractère en plusieurs étapes dans une combobox via variable
    Par chombriko dans le forum Macros et VBA Excel
    Réponses: 17
    Dernier message: 21/05/2012, 09h43
  2. Réponses: 0
    Dernier message: 05/11/2010, 10h51
  3. lecture d'une chaine de caractères
    Par freestyler dans le forum C#
    Réponses: 2
    Dernier message: 01/03/2007, 17h20
  4. Réponses: 3
    Dernier message: 26/12/2006, 09h13
  5. Lecture d'une chaine de caractère avec fgets
    Par mayoouketchup dans le forum Langage
    Réponses: 9
    Dernier message: 22/12/2005, 16h17

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