The UNIX and Linux Forums  
Hej och välkommen från USA till UNIX och Linux Forum! Tack för ditt besök och gå med i vår globala gemenskapen.

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
enkel tcsh frågan med hjälp av foreach moldoverb Shell-programmering och Skript 1 01-07-2009 08:05
foreach uttalande ksh asulli01 UNIX for Dummies Frågor & Svar 8 11-26-2008 03:55
foreach loop abch624 Shell-programmering och Skript 1 03-19-2008 09:34
foreach mapp eltinator Shell-programmering och Skript 7 08-13-2007 03:37
foreach loop fråga clipski UNIX for Dummies Frågor & Svar 7 12-22-2005 01:28

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 01-07-2009
moldoverb moldoverb is offline
Registered User
  
 

Join Date: Jan 2009
Inlägg: 5
foreach fråga

OK, så jag är mycket rostig och jag bara komma tillbaka till Unix efter 9 år.

Jag fastnar på något lätt. Jag vill söka line-by-line för ett snöre i en fil, och jag vill göra detta till ett antal filer i en katalog.

Detta fungerar bra att göra en sökning:

samtidigt läsa i; do grep $ i fil2; gjort <file1.txt

Detta fungerar också bra att läsa en katalog:

foreach fil ( "/ bin / ls *. txt)
echo $ file
slut

men om jag försöka kombinera de två, ingen glädje.

foreach fil ( "/ bin / ls *. txt)
samtidigt läsa i; do grep $ i fil2; gjort <$ file
slut

Hjälp snälla!
  #2 (permalänk)  
Old 01-07-2009
pludi's Avatar
pludi pludi is offline Forum Staff  
Moderator
  
 

Join Date: Dec 2008
Ort:. Tillhör
Inlägg: 1.866
Prova detta:
Kod:
for file in `/bin/ls *.txt`
do
    while read i
    do
        grep $i file2
    done < $file
done
Självklart, om du grep stöder växeln-f kan du prova
Kod:
for file in `find . -prune -name '*.txt' -print`
do
    grep -f $file $file2
done
HTH
/ pludi
  #3 (permalänk)  
Old 01-07-2009
moldoverb moldoverb is offline
Registered User
  
 

Join Date: Jan 2009
Inlägg: 5
Jag får en "bash: $ file: tvetydiga omdirigera" i första exemplet.
  #4 (permalänk)  
Old 01-11-2009
pludi's Avatar
pludi pludi is offline Forum Staff  
Moderator
  
 

Join Date: Dec 2008
Ort:. Tillhör
Inlägg: 1.866
Sedan skriva om inre slingan att
Kod:
cat ${file} | while read i
do
    grep $i file2
done
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 11:09.


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