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
Reeksnummer generatie op een toets kolom sbasetty Programmeren en Shell Scripting 6 03-27-2008 12:09
Sortering in het gebruik van Unix kolomnummer SWAT UNIX for Advanced & Expert Gebruikers 1 11-15-2007 06:59
Het identificeren van de kolom aantal pondlife Programmeren en Shell Scripting 2 09-28-2007 10:43
de terugkeer van een kolom aantal scriptingmani Programmeren en Shell Scripting 2 07-06-2007 09:36 PM
awk om een kolom van bepaalde lijn mab_arif16 Programmeren en Shell Scripting 4 05-08-2006 05:26

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
kolomnummer, awk, help

Alle,

Code:
$ cat myf.txt
A|xyz|1000|mm
B|9000|xyz|ss
C|BDE|2000|kk
D|xyz|1000|nn

I am searching "xyz"

$ awk -F "|" '
{for(k=0;k<=NF;k++)
if ( $k == "xyz" )
print "line="NR"(column="k")"
}' myf.txt

Output:
line=1(column=2)
line=2(column=3)
line=4(column=2)


I want to see the output as :

line=1(column=2)
line=2(column=3)
line=3(Not found)
line=4(column=2)
HTH,
jkl_jkl
  #2 (permalink)  
Old 03-15-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Berichten: 4.305
Opgemerkt dient te worden als:

Code:
awk -F "|" '
{found=0}
{for(k=0;k<=NF;k++)
   if( $k == "xyz" ){
     print "line="NR"(column="k")"
     found=1
   }
}
!found{print "line="NR" (not found)"}
' myf
Groeten
  #3 (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
Check deze manier:
Code:
> cat file
A|xyz|1000|mm
B|9000|xyz|ss
C|BDE|2000|kk
D|xyz|1000|nn
Code:
>  awk '{printf("%s","line="NR);a=gsub(/\|/,"",$1);if (a==3){print "(Not Found)";next}print "(column="a+1")"}' FS='xyz' file
line=1(column=2)
line=2(column=3)
line=3(Not Found)
line=4(column=2)
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 09:25 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