![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
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.. |
|
|||||
|
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 |
|
||||
|
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 |
|
||||
|
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. |
![]() |
| Komihåglista |
| Thread Tools | Sök i denna tråd |
| Visningslägen | Betygsätt denna tråd |
|
|