The UNIX and Linux Forums  
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.

Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
bevinding grootste directories in een bestandssysteem GKnight Programmeren en Shell Scripting 8 04-30-2008 09:58 PM
De grootste dump apparaat te klein is click007 AIX 4 10-26-2007 06:08
vinden grootste bestand mohan705 Programmeren en Shell Scripting 15 07-04-2007 03:34
vinden de 5o grootste bestanden in een directory igidttam Bestandssystemen, schijven en geheugen 8 05-16-2007 02:20 PM
bestand van de grootste omvang in pwd rameshparsa Programmeren en Shell Scripting 4 11-22-2005 12:25

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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 03-15-2008
jkl_jkl jkl_jkl is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2007
Posts: 46
grootste veld, awk, help

Hi All,

Mijn bestand is als volgt:

Code:
$ cat max.txt
abcd:1982:a
efghij:1980:e
klmn:1923:k
opqrst:1982:o
Ik heb om de grootste eerste veld en de bijbehorende regel. dat wil zeggen

Uitgang vereist:

Code:
efghij efghij:1980:e
opqrst opqrst:1982:o
HTH,
jkl_jkl
  #2 (permalink)  
Old 03-15-2008
yunccll yunccll is offline
Geregistreerde gebruiker
  
 

Join Datum: maart 2008
Posts: 23
probeer deze code:
Code:
#!/bin/bash

#constant
INFILE="max.txt"

#core script
awk ' BEGIN { OFS=FS=":"; cur=max=0; seen=""}
        {
           cur = length($1)
           if(cur > max ){
              seen = $1 " " $0
           }
           else if(cur == max){
              seen = seen "\n"  $1 " " $0
           }
        }
        END { print seen }'  $INFILE
#exit normally
exit 0
. Aaron
  #3 (permalink)  
Old 03-15-2008
jkl_jkl jkl_jkl is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2007
Posts: 46
aaron,

Hij drukt alleen

Code:
opqrst opqrst:1982:o
En niet

Code:
efghij efghij:1980:e
opqrst opqrst:1982:o
dat wil zeggen als er 2 langste velden, de afdrukken van de laatste.
  #4 (permalink)  
Old 03-15-2008
fpmurphy's Avatar
fpmurphy fpmurphy is offline Forum Staff  
Moderator
  
 

Join Date: december 2003
Locatie: Florida
Berichten: 1.927
Just add "max \u003d huidig" en beide lijnen worden afgedrukt als u wilt.

Code:
awk ' BEGIN { OFS=FS=":"; cur=max=0; seen=""}
        {
           cur = length($1)
           if (cur > max ) {
              seen = $1 " " $0
              max = cur
           } else if (cur == max) {
              seen = seen "\n"  $1 " " $0
           }
        }
        END { print seen }'  $INFILE
  #5 (permalink)  
Old 03-15-2008
Klashxx's Avatar
Klashxx Klashxx is offline Forum Advisor  
HP-UX/Linux/Oracle
  
 

Join Date: Feb 2006
Locatie: Almería, Spanje
Posts: 393
Een ander sol:
Code:
awk '{l=length($1);if(l>=max){a[$1" "$0]=l;max=l}}END{for(i in a)if (a[i]==max)print i}' FS=':' file
  #6 (permalink)  
Old 03-16-2008
yunccll yunccll is offline
Geregistreerde gebruiker
  
 

Join Datum: maart 2008
Posts: 23
Citaat:
Oorspronkelijk geplaatst door jkl_jkl View Post
aaron,

Hij drukt alleen

Code:
opqrst opqrst:1982:o
En niet

Code:
efghij efghij:1980:e
opqrst opqrst:1982:o
dat wil zeggen als er 2 langste velden, de afdrukken van de laatste.
Oh, sorry, ik vergat de "max \u003d huidig", toen ik mijn code invoeren in het antwoord!

. Aaron
  #7 (permalink)  
Old 11-29-2008
bashisthebest bashisthebest is offline
Geregistreerde gebruiker
  
 

Join Date: november 2008
Krabbels: 1
Hoe zou u het laagste gebied en de bijbehorende lijn?

Hoi ik vroeg me af hoe je zou doen het tegenovergestelde zin vinden het laagste gebied en de bijbehorende lijn?

Thanks in advance.
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 02:19 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0