The UNIX and Linux Forums  


Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Sök efter flera strängar och post i enlighet AnneAnne UNIX for Dummies Frågor & Svar 3 03-12-2009 10:14
Sökinstruktioner flera strängar i en fil deepakpv Shell-programmering och Skript 2 09-19-2008 04:02
Problem att söka på flera strängar sudhish Shell-programmering och Skript 2 10-25-2007 03:00
Skriv ut linjer med söksträng på särskilda ställning HealthyGuy Shell-programmering och Skript 4 12-04-2006 09:47
Hur man sätter strängarna i viss position whatisthis Shell-programmering och Skript 14 11-14-2005 06:40

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 Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 03-18-2009
HugoH HugoH is offline
Registered User
  
 

Join Date: Jan 2006
Inlägg: 6
Söka efter flera strängar i viss position

Hej,

Jag behöver söka efter vissa strängar i särskilda positioner i en fil.

Om strängar: "foo1", "foo2" eller "foo3" är på position 266 eller position 288 i en fil som jag vill att hela raden skrivas ut.


Någon aning om hur man gör?
  #2 (permalänk)  
Old 03-18-2009
swatij16 swatij16 is offline
Registered User
  
 

Join Date: mars 2009
Inlägg: 1
Hej

Du kan använda grep-x för att hitta specifika sträng i filen.
  #3 (permalänk)  
Old 03-18-2009
HugoH HugoH is offline
Registered User
  
 

Join Date: Jan 2006
Inlägg: 6
Men jag kan inte ange position då?

Strängarna kan vara på fler ställen men de är bara intressanta om de är i denna ställning.
  #4 (permalänk)  
Old 03-18-2009
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderator
  
 

Join Date: februari 2005
Ort: Boston, MA
Inlägg: 5.131
Med några hardwiring, men ... något att börja med:

Kod:
nawk -v str='foo1|foo2|foo3' 'substr($0, 266, 4) ~ str || substr($0, 288, 4) ~ str' myFile

  #5 (permalänk)  
Old 03-18-2009
HugoH HugoH is offline
Registered User
  
 

Join Date: Jan 2006
Inlägg: 6


Tack, tack och tack igen!

Det löste mitt problem.

  #6 (permalänk)  
Old 03-18-2009
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderator
  
 

Join Date: februari 2005
Ort: Boston, MA
Inlägg: 5.131
en mer allmän lösning:

nawk-v str \u003d 'foo1 foo2 foo3 "-v pos \u003d '266 288'-f hugo.awk minfil

hugo.awk:

Kod:
BEGIN {
   split(str, strA, FS)
   split(pos, posA, FS)
}
{
   for(strI=1; strI in strA; strI++)
      for(posI=1; posI in posA; posI++)
        if ( posA[posI] == match($0, strA[strI]) ) {
           print
           next
        }
}


Senast redigerad av vgersh99; 03-18-2009 at 12:13..
Closed Thread

Komihåglista

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 07:33.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0