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
Hogyan sort a fájlt, majd nyomtatott hasonlóan egyszer shira Shell programozás és Scripting 6 01-27-2009 01:22 PM
Sort, csoportos sorok patrykxes Shell programozás és Scripting 6 01-06-2009 02:28 PM
awk segítséget kért a csoport és a nyomtatási teljesítmény egy részét a csoport online és az eredeti vonalat rajan_san Shell programozás és Scripting 5 10-27-2008 09:16 AM
Rendezés cmd, hogy Csoportosítás? RacerX A UNIX a dummies Kérdések és válaszok 6 10-16-2008 08:40 AM
PHP + MySQL: egyfajta desending és nyomtatott perleo Shell programozás és Scripting 1 09-02-2003 12:50 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 02-11-2009
m4rco - m4rco- is offline
Regisztrált felhasználó
  
 

Join Date: Feb 2009
Hozzászólások: 7
awk - sort, majd kiírja a nagy értékű, hogy minden egyes

Hi @ all

Próbálom elérni, hogy ezt a problémát,

Van egy 2 oszlopos tagjai fájlt a következő:

192.168.1.2 2
192.168.1.3 12
192.168.1.2 4
192.168.1.4 3
cpc1-swan1-2-3-cust123.swan.cable.ntl.com 4
192.168.1.3 5
192.168.1.2 10
192.168.1.4 8
cpc1-swan1-2-3-cust123.swan.cable.ntl.com 8

és én ezt a fajta teljesítmény:

192.168.1.2 10
192.168.1.3 12
192.168.1.4 8
cpc1-swan1-2-3-cust123.swan.cable.ntl.com 8

Próbálom használni ezt a módszert:


Kód:
awk  '{  a[$NF]=$2; if ( a[$NF] >= max[$NF] ) max[$NF]=a[$NF] } END { for ( item in a )  print item,max[item] }'


de nem vagyok benne, hogy ez a helyes út ....

Thanks you all in advance!!

m4rco -
  #2 (permalink)  
Old 02-11-2009
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Moderátor
  
 

Join Date: Feb 2005
Helyszín: Boston, MA
Hozzászólások: 5.131

Kód:
nawk '{
  max[$1] = !($1 in max) ? $2 : ($2 > max[$1]) ? $2 : max[$1]
}
END {
  for (i in max)
    print i, max[i]
}' myFile

  #3 (permalink)  
Old 02-11-2009
gio001 gio001 is offline
Regisztrált felhasználó
  
 

Join Date: Mar 2007
Hozzászólások: 70
Ehhez mit szólsz .....

awk '(print $ 2 "" $ 1)' file_in_input | sort-k 2-k 1RN | uniq-f 1 | awk '(print $ 2 "" $ 1)'> output_file

Remélem, ez az, amit szükség.
G.
  #4 (permalink)  
Old 02-11-2009
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Moderátor
  
 

Join Date: Feb 2005
Helyszín: Boston, MA
Hozzászólások: 5.131
Idézet:
Originally Posted by gio001 View Post
Ehhez mit szólsz .....

awk '(print $ 2 "" $ 1)' file_in_input | sort-k 2-k 1RN | uniq-f 1 | awk '(print $ 2 "" $ 1)'> output_file

Remélem, ez az, amit szükség.
G.
Túl sok a felesleges "csöveket" a enyém íz ....
  #5 (permalink)  
Old 02-11-2009
gio001 gio001 is offline
Regisztrált felhasználó
  
 

Join Date: Mar 2007
Hozzászólások: 70
Helló,
Én meghökkent, hogy milyen sima a kód ... Meg tudod magyarázni egy kicsit a szavakkal, mi a logikája a sor:

max [$ 1] \u003d! ($ 1-max)? 2 $: ($ 2> max [$ 1])? $ 2: max [$ 1]

Köszönöm.

Last edited by gio001; 02-11-2009 at 04:39 PM..
  #6 (permalink)  
Old 02-11-2009
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Moderátor
  
 

Join Date: Feb 2005
Helyszín: Boston, MA
Hozzászólások: 5.131

Kód:
max[$1] = !($1 in max) ? $2 : ($2 > max[$1]) ? $2 : max[$1]

max [$ 1] - 'max' egy tömb által indexelt értéke az első mezőt
! ($ 1-max)? 2 $ - ha a '$ 1' nem már array 'max' visszaadja az értéket a második mező
: - Másképp
($ 2> max [$ 1] A)? $ 2 : max [$ 1] A
ha az érték a második terület nagyobb, mint mi már array 'max' (index a '$ 1') visszatérési értéke a második mező. Ha nem, akkor vissza az aktuális értéke array 'max [$ 1] ".

'max [$ 1] \u003d' - bármi lesz az eredmény, tároljuk array 'max' index az első mezőt.

Lil 'kissé terjengős, de remélem, ön kap a lényeget belőle.

Last edited by vgersh99; 02-12-2009 at 07:31 AM..
  #7 (permalink)  
Old 02-11-2009
m4rco - m4rco- is offline
Regisztrált felhasználó
  
 

Join Date: Feb 2009
Hozzászólások: 7
Thumbs up

wow vgers ...
elképesztő megoldás, és elképesztő explaination.

megköszön u tehát sok!


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 02:03 AM.


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