The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Quick sed spørgsmål vbm Shell Programmering og Scripting 2 11-09-2006 10:44 PM
Ok hurtigt spørgsmål Corrail Shell Programmering og Scripting 1 11-11-2005 01:49 PM
Quick perl spørgsmål jason_v Shell Programmering og Scripting 7 11-26-2003 04:31 AM
Quick Spørgsmål catbad UNIX for dummyer Spørgsmål & svar 7 03-25-2003 07:01 PM
Quick Spørgsmål Tracy Hunt UNIX for dummyer Spørgsmål & svar 3 02-20-2001 04:20 PM

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øg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 10-09-2008
zx1106 zx1106 is offline
Registreret Bruger
  
 

Join Date: Mar 2008
Beliggenhed: USA
Stillinger: 21
[B] Perl slags hurtig spørgsmål [/ B]

Jeg har lavet en hurtig Google om dette, men kunne ikke finde det svar, jeg ønsker.

Sige, at der er en matrix som denne:
@ A \u003d qw (CD1 a1 ef a2 hij a12 B2 B4 B22);

Jeg ønsker at sortere array i den første ordre:
@ sorteret \u003d qw (a1 a12 a2 b2 B22 b4 CD1 ef hij);

Og anden orden:
@ sorteret \u003d qw (a1 a2 a12 B2 B4 B22 CD1 ef hij);

Er der en måde at gøre dette i Perl uden at bruge moduler?

Thanks a lot!

Senest redigeret af zx1106; 10-09-2008 kl 12:44 PM..
  #2 (permalink)  
Old 10-09-2008
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Beliggenhed: NM
Indlæg: 5.759
Mener du, den slags funktion, et modul?
Code:
@sorted=sort(@A);
  #3 (permalink)  
Old 10-09-2008
zx1106 zx1106 is offline
Registreret Bruger
  
 

Join Date: Mar 2008
Beliggenhed: USA
Stillinger: 21
Tak! Det virker for det første ordre.
  #4 (permalink)  
Old 10-09-2008
zx1106 zx1106 is offline
Registreret Bruger
  
 

Join Date: Mar 2008
Beliggenhed: USA
Stillinger: 21
Hvad med den anden orden:
qw (a1 a2 a12 B2 B4 B22 CD1 ef hij);
Tak!
  #5 (permalink)  
Old 10-09-2008
cbkihong cbkihong is offline Forum Advisor  
Advisor
  
 

Join Date: Sep 2002
Beliggenhed: Hong Kong, Kina
Stillinger: 1624
Ja, kan du sortere med en brugerdefineret regel. Men hvad er reglen for den slags? Hvis du ikke kan finde ud af en formel specifikation af den slags, vil ingen være i stand til at gøre det "korrekt".

Følgende giver samme bestilling som du nævnte, men der er ingen garanti for, at den vil give dig den "rigtige" bestilling (som man kunne forvente) for andre input værdier:

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  
Registreret Bruger
  
 

Join Date: Jan 2008
Posts: 731
Anden orden, som synes at være den første sortering af alpha derefter ciffer:

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 de er interesseret i det cachede vigtige slags teknik.
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 08:43 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0