The UNIX and Linux Forums  


Go Back   UNIX och Linux Forum > Upp Forum > UNIX for Dummies Frågor & Svar
.
google unix.com



UNIX for Dummies Frågor & Svar Om du inte är säker på var att skriva en UNIX eller Linux fråga efter det här. Alla UNIX-och Linux-nybörjare välkomna!

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Hitta namn på flera filer Rally_Point UNIX for Dummies Frågor & Svar 3 02-23-2009 08:36
Hitta saknas följdnummer filnamn Julolidine Shell-programmering och Skript 2 07-03-2008 12:52
Hitta filer med namn som har ett reellt tal större sedan difined. harmonwood Shell-programmering och Skript 2 11-09-2007 10:28
hitta duplicerade filer med storlek och hitta mönstermatchning och räkna Jerome Sukumar Shell-programmering och Skript 2 12-01-2006 04:20
hur man hittar versal namn i en fil utan att hitta ord i början av meningen kev269 Shell-programmering och Skript 1 04-10-2006 10:35

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-12-2009
Rally_Point Rally_Point is offline
Registered User
  
 

Join Date: Dec 2008
Inlägg: 11
Att hitta namn på flera filer - andra försöket

Jag kunde inte hitta den ursprungliga tråden som jag skapade, och eftersom jag inte fick ett definitivt svar, jag tänkte att jag skulle försöka igen. Kanske den här gången kan jag beskriva vad jag vill ha lite bättre.


Jag har två filer, vardera med tusentals namn på alla åtskilda av ny linje. Jag vill veta om namn i fil1 "också visas någonstans i filen 2 och sedan skriva ut den för mig (även om produktionen är inte problemet).

Jag har tänkt att kanske det finns ett sätt att gå igenom den första filen och med varje rad, så gå igenom varje rad i den andra filen (något som liknar en nästlad loop uttalande) och sedan gå därifrån. Jag undrar bara om det kommer att fungera på om det finns ett bättre och enklare sätt.

Tack
  #2 (permalänk)  
Old 03-12-2009
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: februari 2004
Ort: NM
Inlägg: 5.790
Använd associativa arrayer i awk. Detta finner namn som förekommer i båda filerna. Det är skiftlägeskänsligt och känsligt för extra utrymmen - med andra ord en exakt matchning

Kod:
awl '{ if(FILENAME=="file1") (arr[$0]++}
        if(FILENAME=="file2") {if($0 in arr) {print $0)} }
      }'  file1 file2

Kapslade loopar som du beskriver tar alldeles för lång tid. Detta är ungefär lika Godd som det blir.
  #3 (permalänk)  
Old 03-12-2009
Lakris Lakris is offline
Registered User
  
 

Join Date: oktober 2007
Inlägg: 246
Citat:
Ursprungligen postat av Rally_Point View Post
Jag har tänkt att kanske det finns ett sätt att gå igenom den första filen och med varje rad, så gå igenom varje rad i den andra filen (något som liknar en nästlad loop uttalande) och sedan gå därifrån.
Tack
Hej, Har du provat detta?

Något som:


Kod:
while read name;do grep "$name" file2;done < file1

Och Du kan göra något liknande:


Kod:
while read name;do echo $name:;grep "$name" file2;done < file1

Eller någon annan åtgärd som grundar sig på returvärdet grep?


Kod:
while read name;do ;grep -q "$name" file2 && echo $name found in file2;done < file1

Och det skulle hjälpa om du kunde visa källan för filen, om det inte fungerar. Har du funderat på att sortera filer och använda diff?

Vänliga hälsningar
/ Lakris
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 12:02.


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