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 :

Suppression par correspondance bash ou shell


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2022
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Juillet 2022
    Messages : 46
    Par défaut Suppression par correspondance bash ou shell
    Bonjour,

    Je possède une liste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    lig-a-20.pdb
    lig-a-80.pdb
    lig-a-20.txt
    lig-a-80.txt
    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
     
    lig-a-20.pdb:
    Model 1
    Model 2
     
    lig-a-20.txt:
    score 1 
    score 2
    score 3
     
    lig-a-80.pdb:
    Model 1
    Model 2
    Model 3
     
     
    lig-a-80.txt:
    score 1
    score 2
    score 3
    score 4
    score 5
    Il n'y a plus de score que de model par fichier correspondants. L'idée ce serait de supprimer les scores en trop dans les fichiers txt. en fonction du nombre de model correspondant dans le fichier .pdb et pas " deux au hasard" mais la fin du fichier en trop dans le fichier txt.

    Je fais une boucle for, mais la boucle for va travailler comme si une matrice et ce n'est pas du tout ça


    Après promis c'était ma dernière question

  2. #2
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 341
    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 341
    Par défaut
    exemple pour un couple de fichier pdb/txt (à toi de gérer la boucle) :
    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
    $ cat l1.pdb
    Model 1
    Model 2
    Model 3
     
    $ cat l1.txt
    score 1
    score 2
    score 3
    score 4
    score 5
    $ sed -n 's/Model/score/p' l1.pdb | grep -f - l1.txt
    score 1
    score 2
    score 3

  3. #3
    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
    avec join.
    mais il faut quand même encore faire une boucle for sur un Développement de chemins !

    ou bien est-ce encore un exercice d'algorithmique à faire en 100% shell ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 341
    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 341
    Par défaut
    peut-on considérer ce genre de ligne comme juste du bash
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eval "$(printf "sed -n 's/Model/score/p' %s | grep -f - %s\n" l*)"

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2022
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Juillet 2022
    Messages : 46
    Par défaut
    Merci

    Mais si tu avais cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $ cat l1.pdb
    Model 1
    Model 2
    Model 3
     
    $ cat l1.txt
    1
    2
    3
    4
    5
    Juste à partir de l'indice

  6. #6
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 341
    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 341
    Par défaut
    ça s'appelle un changement de spécifications...

    D'où, l'intérêt d'être clair dans l'exposé du problème.

    Donc, expose correctement le problème et les formats de tes fichiers qui ne prête pas à confusion et après on pourra éventuellement t'aider.

  7. #7
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2022
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Juillet 2022
    Messages : 46
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $ cat l1.pdb
    Model 1
    Model 2
    Model 3
     
    $ cat l1.txt
    text text text
    text text
       1 text text text
       2 text text text
       3 text text text
       4 text text text
       5 text text text

    Pour modifier l1.txt en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $ cat l1.txt
    text text text
    text text
       1 text text text
       2 text text text
       3 text text text

  8. #8
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 287
    Par défaut
    Bonjour

    Moi, je sais faire. Et toi, comment ferais-tu à la main ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 02/05/2007, 14h30
  2. Etude par correspondance.. Chance ou handicap ?
    Par bipbip2006 dans le forum Emploi
    Réponses: 1
    Dernier message: 22/06/2006, 14h12
  3. [MySQL] Suppression par ligne
    Par Invité dans le forum SQL Procédural
    Réponses: 11
    Dernier message: 15/05/2006, 14h38
  4. CODE RETOUR GENERE PAR PL/SQL POUR SHELL UNIX
    Par mimi_été dans le forum PL/SQL
    Réponses: 6
    Dernier message: 18/11/2004, 08h32

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