The UNIX and Linux Forums  

Go Back   A UNIX és Linux Forums > Top Fórumok > Shell programozás és Scripting
.
google unix.com



Shell programozás és Scripting Post kérdések KSH, CSH, SH, Bash, Perl, PHP, SED, AWK ÉS EGYÉB shell szkriptek és shell script nyelvek itt.

Több, UNIX és Linux fórum témák Ön által talált Hasznos
Szál Thread Starter Fórum Válaszok Utolsó hozzászólás
Ha hívás / execute a shell script a shell script konark A UNIX a dummies Kérdések és válaszok 1 10-26-2007 06:16 PM
hogyan kell végrehajtani shell parancsok awk script? RishiPahuja Shell programozás és Scripting 1 09-02-2005 10:37 AM
Execute Héjprogram sam71 A UNIX a dummies Kérdések és válaszok 1 04-29-2005 02:43 PM
Lehet-e execute shell script a PHP? Micz Shell programozás és Scripting 1 05-27-2004 12:52 PM
Hogyan kell végrehajtani Héjprogram? siva Shell programozás és Scripting 3 05-14-2002 12:07 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 Téma eszközök Keresés a téma Rate Thread Megjelenítési módok
  #1 (permalink)  
Old 11-16-2007
nvuradi nvuradi is offline
Regisztrált felhasználó
  
 

Join Date: Mar 2007
Hozzászólások: 23
Shell script van több, mint 3 óra végrehajtására

Szia



Csinálok folyamat átalakítására minden érték a legfontosabb oszlopa ki egy sorba, pl



Key col1 col2

1 1 1

1 2 1

1 1 3

1 3 1

2 1 1

2 1 2



Hogy mit csinálok a szkriptet alakítják át ezt az adatokat



1 (fő) | 1:2:1:3 (Minden col1 értékek), 1:1:3:1 (összes col2 értékek)

2 (key) | 1:1,1:2

Ennek elérése érdekében én használ, miközben két hurok és 4 Ha mást hurkok

Most az én termelés az oszlopok száma is 4, és a rekordok száma a bemeneti fájl 0,2 millió (2 lac), és ezt a szkriptet vesz több, mint 3 óra futtatásához.

Van ötlete, hogyan minimalizálja az átfutási idő?
  #2 (permalink)  
Old 11-16-2007
matrixmadhan matrixmadhan is offline Forum Advisor  
Technorati Master
  
 

Join Date: Mar 2005
Helyszín: levél csomópontja B + fa
Hozzászólások: 2.958
Nincs hiba ellenőrzés! Nem teljes!

Használó hash, ezt kell szuper gyors!


Kód:
#! /opt/third-party/bin/perl

open(FILE, "<", "r");

while(<FILE>) {
  next if(/^$/);
  chomp;
  my @arr = split(/ /);
  my @val = split(/,/, $fileHash{$arr[0]});
  $val[0] .= (":" . $arr[1]);
  $val[1] .= (":" . $arr[2]);
  $val[0] .= ("," . $val[1]);
  $val[0] =~ s/,:/,/;
  $val[0] =~ s/^://;
  $fileHash{$arr[0]} = $val[0];
}

close(FILE);

foreach my $k ( keys %fileHash ) {
  print "$k $fileHash{$k}\n";
}

exit 0

  #3 (permalink)  
Old 11-18-2007
summer_cherry summer_cherry is offline Forum Advisor  
Regisztrált felhasználó
  
 

Join Date: Jun 2007
Helyszín: Kína Peking
Hozzászólások: 1.092
awk

Szia,

Ez kell az OK gombra.

bemenet:

Kód:
1 1 1

1 2 1

1 1 3

1 3 1

2 1 1

2 1 2

3 1 1

4 2 1

4 1 3

1 3 1

2 1 1

2 1 2

optput:

Kód:
2|1:1:1:1|1:1:1:1
3|1|1
4|2:1|2:1
1|1:2:1:3:3|1:2:1:3:3

kód:

Kód:
awk '
{
if (NF>1)
{
	col[$1]=$1
	if (col1[$1]=="")
		col1[$1]=$2
	else
		col1[$1]=sprintf("%s:%s",col1[$1],$2)
	if (col2[$1]=="")
		col2[$1]=$2
	else
		col2[$1]=sprintf("%s:%s",col2[$1],$2)
}
}
END{

for (i in col)
	print i"|"col1[i]"|"col2[i]
}' filename

Closed Thread

Könyvjelzõk

Téma eszközök Keresés a téma
Keresés a téma:

Részletes keresés
Megjelenítési módok Rate this thread
Rate this thread:

Posting szabályzat
Ön nem post new threads
Ön nem post válaszok
Ön nem post Csatolmányok
Ön nem szerkeszteni az üzeneteidet

BB kód van Be
Smilies vannak Be
[IMG] kód Be
HTML kód Ki
Trackbacks vannak Be
Pingbacks vannak Be
Refbacks vannak Be




Minden idő GMT -4. Az idő most 06:40 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Nyelvre lefordítva Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
A UNIX és Linux Fórum Tartalom Copyright © 1993-2009. Minden jog Reserved.Ad menedzsment RedTyger

Content Relevant URLs by vBSEO 3.2.0