The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
rask sed spørsmålet vbm Shell programmering og Skripting 2 11-09-2006 10:44
Ok raske spørsmål Corrail Shell programmering og Skripting 1 11-11-2005 01:49
Quick perl spørsmålet jason_v Shell programmering og Skripting 7 11-26-2003 04:31
Quick Spørsmål catbad UNIX for Dummies Spørsmål og svar 7 03-25-2003 07:01
Quick Spørsmål Tracy Hunt UNIX for Dummies Spørsmål og svar 3 02-20-2001 04:20

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 Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 10-09-2008
zx1106 zx1106 is offline
Registrert bruker
  
 

Bli Date: Mar 2008
Beliggenhet: USA
Innlegg: 21
[B] Perl slags rask spørsmålet [/ B]

Jeg har gjort en rask Google om dette, men fant ikke svaret jeg ønsker.

Si det er en matrise som dette:
@ A \u003d qw (CD1 a1 ef a2 hij a12 B2 B4 B22);

Jeg vil sortere tabellen i den første bestillingen:
@ sortert \u003d qw (a1 a12 a2 b2 B22 B4 CD1 ef hij);

Og andre rekkefølge:
@ sortert \u003d qw (a1 a2 a12 B2 B4 B22 CD1 ef hij);

Finnes det en måte å gjøre dette på Perl uten å bruke moduler?

Thanks a lot!

Sist endret av zx1106; 10-09-2008 kl 01:44..
  #2 (permalink)  
Old 10-09-2008
Jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Bli Date: Feb 2004
Beliggenhet: NM
Innlegg: 5807
Tenker du over slags funksjon en modul?

Code:
@sorted=sort(@A);

  #3 (permalink)  
Old 10-09-2008
zx1106 zx1106 is offline
Registrert bruker
  
 

Bli Date: Mar 2008
Beliggenhet: USA
Innlegg: 21
Takk! Det fungerer på den første bestillingen.
  #4 (permalink)  
Old 10-09-2008
zx1106 zx1106 is offline
Registrert bruker
  
 

Bli Date: Mar 2008
Beliggenhet: USA
Innlegg: 21
Hva med den andre rekkefølge:
qw (a1 a2 a12 B2 B4 B22 CD1 ef hij);
Takk!
  #5 (permalink)  
Old 10-09-2008
cbkihong cbkihong is offline Forum Advisor  
Rådgiver
  
 

Bli Dato: Sep 2002
Sted: Hong Kong, Kina
Innlegg: 1624
Ja, du kan sortere med en egendefinert regel. Men hva er egentlig regelen for den slags? Hvis du ikke kan komme fram til en formell spesifikasjon av den typen, vil ingen kunne gjøre det "riktig".

Følgende gir samme bestilling som du nevnte, men det er ingen garanti for at den skal gi deg "riktig" bestilling (som du kan forvente) for andre input verdier:


Code:
use Data::Dumper;

@A = qw(cd1 a1 ef a2 hij a12 b2 b4 b22);
print Dumper([sort {
	my ($_a, $_b);
	for ([$a, \$_a], [$b, \$_b]) {
		$_->[0] =~ /^(.+?)(\d*)$/;
		${$_->[1]} = [$1, $2];
	}
	($$_a[0] cmp $$_b[0]) || ($$_a[1] <=> $$_b[1]);
} @A]);

  #6 (permalink)  
Old 10-10-2008
KevinADC KevinADC is offline Forum Advisor  
Registrert bruker
  
 

Bli Date: Jan 2008
Innlegg: 731
Second ordre som ser ut til å være først sortere etter alfa og siffer:


Code:
my @A = qw(cd1 a1 ef a2 hij a12 b2 b4 b22);

my @sorted = map{$_->[2]}
          sort{$a->[0] cmp $b->[0] || $a->[1] <=> $b->[1]}
          map{/([a-z]*)(\d*)/;[$1,$2,$_]} @A;

print "$_\n" for @sorted;

Google "Schwartzian Transform" hvis interessert i hurtigbufrede nøkkelen slags teknikk.
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 11:29.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0