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
opmaken aantal snaren nhatch UNIX voor Dummies Questions & Answers 10 04-28-2009 12:55 AM
Parse behalve strijkers van kommagescheiden gegevens met wisselend aantal velden 2reperry Programmeren en Shell Scripting 7 09-12-2008 01:33 PM
hoe om te zoeken met 2 strings. syamkp Programmeren en Shell Scripting 2 03-10-2008 04:50
Zoek tussen de snaren met een OR pbsrinivas Programmeren en Shell Scripting 3 07-12-2007 04:46
Zoeken naar tekenreeksen lesstjm UNIX voor Dummies Questions & Answers 5 04-26-2002 09:58

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 11-14-2008
CarlosNC CarlosNC is offline
Geregistreerde gebruiker
  
 

Join Datum: oktober 2008
Posten: 6
Variërend aantal awk search strings

Heb ik een awk script dat handvatten een wisselend aantal search strings overhandigd aan het als command line parameters ($ 1 $ 2 etc). Er kunnen 1 of 2 of 3 of meer. Een vereenvoudigde versie van het script is:

Code:
awk -v TYP="$1 $2 $3 $4 $5 $6" '
  BEGIN {
       CTYP = split (TYP,TYPP," ")
  }
   {for ( i=1; i <= CTYP; i++ ) {
           if ($0 ~ TYPP[i]) {print; break}
      }}
 ' file1 > file2
exit 0
Dit werkt, maar is niet efficiënt te zijn.
Kan iemand voorgesteld een alternatieve methode om dit scenario? Iedere hulp is welkom.

Bedankt.
  #2 (permalink)  
Old 11-14-2008
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Locatie: NM
Berichten: 5.754
Code:
#!/bin/ksh
set -A arr $@
cnt=0
while [[ cnt -lt ${#arr[*]} ]]
do
      echo ${arr[cnt]} 
      cnt=$$(( cnt + 1))
done > tmp.tmp
grep -f tmp.tmp mybigfile
  #3 (permalink)  
Old 11-24-2008
CarlosNC CarlosNC is offline
Geregistreerde gebruiker
  
 

Join Datum: oktober 2008
Posten: 6
Bedankt Jim, dat is logisch met behulp van grep, maar ik had moeten meer duidelijk is, moet zij worden awk omdat er meer naar mijn script, maar ik verwijderd te vereenvoudigen mijn post hier. Ik gebruik awk hier omdat ik het uittreksel andere info in verband met de hits van het bestand op als goed.
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 05:29.


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