The UNIX and Linux Forums  


Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
chaîne de tri ASCII contenant des numéros GKnight UNIX pour les nuls Questions et réponses 8 04-24-2009 09:26 AM
Tri d'une adresse à cordes Minimum De programmation et de script Shell 0 09-13-2008 05:15 PM
PERL données - le tri eagercyber De programmation et de script Shell 3 06-20-2008 04:02 AM
perl tri joeyg De programmation et de script Shell 5 02-15-2008 03:56 PM
Une chaîne de tri Khoomfire UNIX for Advanced & Expert Users 14 01-18-2006 04:34 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 04-21-2009
dangral dangral is offline Forum Advisor  
Registered User
  
 

Join Date: Oct 2002
Messages: 699
Perl: le tri par chaîne

J'ai un tableau complet de la chaîne de valeurs qui doivent être triés, mais si la valeur commence avec (regex) 0 ^ [SV], il devrait être au début du tableau. Sinon, le tableau doit être trié en utilisant normalement ascii genre.

S'il vous plaît, aidez-moi à créer des sous pour passer à la fonction de tri.
  #2 (permalink)  
Old 04-21-2009
ghostdog74 ghostdog74 is offline Forum Advisor  
Registered User
  
 

Join Date: Sep 2006
Messages: 2553
Afficher des exemples
  #3 (permalink)  
Old 04-21-2009
dangral dangral is offline Forum Advisor  
Registered User
  
 

Join Date: Oct 2002
Messages: 699
Il ressemblera à ceci avant:

Citation:
0L43
0H98
STB45
0S22
0V54
0V72
0S09
EL24
0A13
et après

Citation:
0S09
0S22
0V54
0V72
0A13
0H98
0L43
EL24
STB45
  #4 (permalink)  
Old 04-21-2009
ghostdog74 ghostdog74 is offline Forum Advisor  
Registered User
  
 

Join Date: Sep 2006
Messages: 2553
Voici une idée
1) obtenu par chaque élément du tableau, pour vérifier ^ 0 [SV], si oui, à pousser array1. dans le même temps, ceux qui ne sont pas ^ 0 [SV], à pousser array2
2) sorte array1 (en utilisant la fonction de tri), et array2
3) joindre à la nouvelle tableaux ensemble, en mettant array2 derrière array1
  #5 (permalink)  
Old 04-21-2009
pludi's Avatar
pludi pludi is online now Forum Staff  
Modérateur
  
 

Join Date: Dec 2008
Emplacement:. À
Posts: 1,907
Ecrivez votre propre sous-espèce, de plus en perldoc-f sort
  #6 (permalink)  
Old 04-21-2009
dangral dangral is offline Forum Advisor  
Registered User
  
 

Join Date: Oct 2002
Messages: 699
Citation:
Posté par pludi View Post
Ecrivez votre propre sous-espèce, de plus en perldoc-f sort
Merci. J'ai pensé ça.

Code:
sub Bysite {
    if ( $a =~ /^0[SV]/ ) {
        return -1;
    }
    elsif ( $b =~ /^0[SV]/ ) {
        return 1;
    }
    lc($a) cmp lc($b);
}

@array = sort Bysite @array;
  #7 (permalink)  
Old 04-22-2009
KevinADC KevinADC is offline Forum Advisor  
Registered User
  
 

Join Date: Jan 2008
Messages: 731
Citation:
Posté par dangral View Post
Merci. J'ai pensé ça.

Code:
sub Bysite {
    if ( $a =~ /^0[SV]/ ) {
        return -1;
    }
    elsif ( $b =~ /^0[SV]/ ) {
        return 1;
    }
    lc($a) cmp lc($b);
}

@array = sort Bysite @array;
Voilà une bonne solution mais il ne sorte de votre tableau dans l'échantillon de ce que vous affiché:

0S09
0S22
0V54
0V72
0A13
0H98
0L43
EL24
STB45

il trie un peu différemment:

0S22 <--
0S09 <--
0V54
0V72
0A13
0H98
0L43
EL24
STB45

mais peut-être assez proche est OK
Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 07:42 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0