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 :

Tri d'un fichier texte, commande sort


Sujet :

Shell et commandes GNU

  1. #1
    Membre averti Avatar de fantomas261
    Inscrit en
    Avril 2007
    Messages
    486
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 486
    Points : 331
    Points
    331
    Par défaut Tri d'un fichier texte, commande sort
    coucou

    pour finir mon tp de csh
    je dois trier un fichier texte qui contient des information sur des livres
    dont la structure est la suivante :

    titre,(espace)par auteur

    le titre peux etre constituer de plusieurs mots symboles chiffres
    l auteur est toujours constitué d au moins 2 mots, le prenom, puis le nom
    dans certains cas il existe plusieurs noms d'auteurs pour un meme ouvrage

    mais certains livres peuvent contenir des resumés
    exemple

    titre, par auteur
    <<
    resumé
    >>

    on reconnait le resumé est il est entre << et >>

    je dois ecrire une commande qui fait un tri sur les noms du 1er auteur et une autre sur les noms des titres
    __________
    autres questions

    a quoi ca sert de donner la valeur C à LC_ALL
    : LC_ALL C

    est ce que c est possible sur supprimer avec sed la premiere ligne d un fichier juqu à un mot ou un caractere ?

  2. #2
    Membre éclairé Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Points : 652
    Points
    652
    Par défaut
    Citation Envoyé par leopard261
    coucou

    .../...
    titre,(espace)par auteur
    .../...

    Ça marche s'il n'y a pas de virgule dans le "titre"

    Tri sur "titre" :

    sort -t"," -k1,1 fichier.txt


    Tri sur "auteur" :

    sort -t"," -k2 fichier.txt
    Loi de Murphy:
    La Théorie c'est quand ça ne marche pas mais que l'on sait pourquoi.
    La Pratique c'est quand ça marche mais qu'on ne sait pas pourquoi.
    Quand la théorie rejoint la pratique ça ne marche pas et on ne sait pas pourquoi.

  3. #3
    Membre averti Avatar de fantomas261
    Inscrit en
    Avril 2007
    Messages
    486
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 486
    Points : 331
    Points
    331
    Par défaut
    mais quand tu as un résumé tu fais comment?

  4. #4
    Membre éclairé Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Points : 652
    Points
    652
    Par défaut
    Liste_brute.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
     
    blabla 0
    titre7, par auteur 27
    titre6, par auteur 56
    titre3, par auteur 43
    <<
    resumé 3.1
    resumé 3.2
    resumé 3.3
    >>
    blabla 1
    titre1, par auteur 71
    titre4, par auteur 34
    blabla 2
    blabla 3
    titre2, par auteur 62
    <<
    resumé 2
    >>
    titre5, par auteur 15

    Résultat :

    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
     
    * Tri_auteur.txt
    titre5, par auteur 15
    titre7, par auteur 27
    titre4, par auteur 34
    titre3, par auteur 43
    resumé 3.1
    resumé 3.2
    resumé 3.3
    titre6, par auteur 56
    titre2, par auteur 62
    resumé 2
    titre1, par auteur 71
     
    * Tri_titre.txt
    titre1, par auteur 71
    titre2, par auteur 62
    resumé 2
    titre3, par auteur 43
    resumé 3.1
    resumé 3.2
    resumé 3.3
    titre4, par auteur 34
    titre5, par auteur 15
    titre6, par auteur 56
    titre7, par auteur 27
    Script :

    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
    30
     
    awk '
    {
    	if ($0 ~ /, par /) {
    		Cle=$0
    		EdNR=sprintf("%05d",NR)
    		print $0, EdNR","$0
    		next
    	}
    	if ($0 ~ /^<</) {
    		while (getline Buffer > 0) {
    			if (Buffer !~ /^>>/) {
    				EdNR=sprintf("%05d",NR)
    				print Cle, EdNR","Buffer
    				continue
    			}
    			next
    		}
    	}
    } ' Liste_brute.txt > Liste_a_trier.txt
     
    sort -t"," -k1,1 Liste_a_trier.txt | cut -d"," -f3- > Tri_titre.txt
    sort -t"," -k2,2 Liste_a_trier.txt | cut -d"," -f3- > Tri_auteur.txt
     
    echo "* Tri_titre.txt"
    cat Tri_titre.txt
     
    echo ""
    echo "* Tri_auteur.txt"
    cat Tri_auteur.txt
    Loi de Murphy:
    La Théorie c'est quand ça ne marche pas mais que l'on sait pourquoi.
    La Pratique c'est quand ça marche mais qu'on ne sait pas pourquoi.
    Quand la théorie rejoint la pratique ça ne marche pas et on ne sait pas pourquoi.

  5. #5
    Membre averti Avatar de fantomas261
    Inscrit en
    Avril 2007
    Messages
    486
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 486
    Points : 331
    Points
    331
    Par défaut
    c est bon mais j ai fais plus simple

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

Discussions similaires

  1. fichier texte commande de vba
    Par erlerwade dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/04/2012, 17h54
  2. tri d'un fichier text
    Par dark_nights dans le forum C++
    Réponses: 9
    Dernier message: 21/01/2009, 17h34
  3. Tri d'un fichier texte
    Par defcom60 dans le forum Général Python
    Réponses: 62
    Dernier message: 16/07/2008, 23h42
  4. trier un fichier particulier command sort shell
    Par Mistervanhalen dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 22/06/2008, 18h56
  5. tri d'un fichier texte
    Par ben127 dans le forum C
    Réponses: 7
    Dernier message: 23/12/2005, 20h03

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