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
medan slinga inne medan loop panknil Shell-programmering och Skript 0 01-07-2008 12:49
För loop xramm HP-UX 3 10-10-2007 03:20
Även Loop hemangjani Shell-programmering och Skript 2 11-02-2006 11:01
För loop munnabhai1 Shell-programmering och Skript 3 04-06-2006 03:30
hur man kan få liknande funktion i medan loop eller slinga trynew Shell-programmering och Skript 3 06-17-2002 12:09

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 06-27-2006
cjeffers cjeffers is offline
Registered User
  
 

Join Date: juni 2006
Inlägg: 3
Loop hjälp

Jag försöker dra information ur en fil baserat på en kolumn. Jag vill att de register som uppfyller vissa kriterier vara platser i en dålig fil och bort från de stora filen. Jag har dem gå in på den felaktiga filen men eftersom det finns fler än en post jag inte få dem bort från det goda filen. Vad är det bästa sättet att läsa i den information och har varje bit bort utan att skriva över filen och inte ta bort alla felaktiga.

Koden:
nawk '(if (length ($ 0)> 106) print $ 1)' läsningar | sort-u> Bad
katt Bad | while read METER
göra
katt läsningar | grep $ METER>> bad.daily
katt läser | grep-v $ METER> dagligen
gjord

Jag vet att problemet är den andra grep-v är att skriva över filen, men jag måste hitta det bästa sättet att kunna ta bort flera sådana med ute överskrivningar.

Tack
Cliff

Senast redigerad av cjeffers; 06-27-2006 at 01:16..
  #2 (permalänk)  
Old 06-27-2006
Ygor's Avatar
Ygor Ygor is offline Forum Staff  
Moderator
  
 

Join Date: oktober 2003
Ort: -31.96,115.84
Inlägg: 1.409
Inte testat:
Kod:
nawk '{if (length>106) print > "bad.daily" ; else print > "daily"}' reads

Detta avsnitt av awk manual kan vara till hjälp: Omdirigering utgång till filer och rör
  #3 (permalänk)  
Old 06-27-2006
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: februari 2004
Ort: NM
Inlägg: 5.807
Dina krav är inte klart.

My take:
Du vill ha två filer:
en med alla goda data
annan fil med bara unik felaktiga
Kriterium för bra / dåligt:
bra data \u003d postlängd mindre än lika med 106.


Kod:
awk 'length($0)>106' reads | sort -u > bad.daily
awk 'length($0)<=106' reads > good.daily

  #4 (permalänk)  
Old 06-27-2006
cjeffers cjeffers is offline
Registered User
  
 

Join Date: juni 2006
Inlägg: 3
Ja jag vill ha två filer en med dålig data och en med bra. Problemet är filer med dåliga data kan ha andra poster som är bra men skulle behöva dras ut också på en unik kolumn. Kolumnen kan innehålla flera poster med endast vissa av dem var dåligt men alla borde tas bort.

Ledsen att jag borde ha varit mer tydlig.
  #5 (permalänk)  
Old 06-27-2006
cjeffers cjeffers is offline
Registered User
  
 

Join Date: juni 2006
Inlägg: 3
Jag har använt egrep att lösa problemet. Tack för stödet.
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:23.


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