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 > 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
shell script för att hitta och ersätta strängen i flera filer pharos467 Shell-programmering och Skript 11 01-15-2009 11:40
perl-like split funktion för bash? eur0dad Shell-programmering och Skript 5 09-05-2008 07:23
[Ksh] Split string i array piooooter Shell-programmering och Skript 3 09-01-2007 01:22
split string hjälp senthilk615 Shell-programmering och Skript 4 03-27-2006 07:43
dela upp en sträng gazingdown Shell-programmering och Skript 3 02-09-2006 05:34

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 10-29-2007
vikas027 vikas027 is offline
Registered User
  
 

Join Date: oktober 2007
Inlägg: 77
Unhappy delade filer genom att ange en sträng (bash shell)

Hej alla,

Jag har en fil på ca 300 rader där strängen "Server" inträffar omkring 32 gånger.

för t ex.
Citat:
SERVER
.....
.....
....

SERVER

.....
.....
....

SERVER
.....
.....
....

Jag behöver att dela filer som till exempel


Citat:
fil1
SERVER
....
....
....

fil2
SERVER
.....
...
....


fil3
SERVER
.....
....
....
Jag använder den här koden
awk '/ server / (n + +) (print> fn)' f \u003d / Vikas / lista / Vikas / slutlig

Men problemet är att den gör högst 10 filer, men jag behöver mer än 30.
Jag har försökt använda nawk, men gjorde fungerat.
Jag använder bash scripting på söndag OS.


Något annat sätt att dela upp dessa uppgifter???

Pls hjälp!

Tack i adv.
Hälsningar,
Vikas
  #2 (permalänk)  
Old 10-29-2007
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Moderator
  
 

Join Date: februari 2005
Ort: Boston, MA
Inlägg: 5.122
Kod:
awk '/SERVER/{n++}{output = f n; print > output; close(output) }' f=/vikas/list /vikas/final
  #3 (permalänk)  
Old 10-29-2007
vikas027 vikas027 is offline
Registered User
  
 

Join Date: oktober 2007
Inlägg: 77
Citat:
Ursprungligen postat av vgersh99 View Post
Kod:
awk '/SERVER/{n++}{output = f n; print > output; close(output) }' f=/vikas/list /vikas/final

Tack vgersh99,
dig efter att ha provat detta kommando.
  #4 (permalänk)  
Old 10-29-2007
vikas027 vikas027 is offline
Registered User
  
 

Join Date: oktober 2007
Inlägg: 77
Citat:
Ursprungligen postat av vgersh99 View Post
Kod:
awk '/SERVER/{n++}{output = f n; print > output; close(output) }' f=/vikas/list /vikas/final
hej,
detta cmd gör så många tomt filer som strängen Server är det i den sista akten.

pls hjälp
  #5 (permalänk)  
Old 10-29-2007
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Moderator
  
 

Join Date: februari 2005
Ort: Boston, MA
Inlägg: 5.122
Kod:
awk '/SERVER/{if (n) close(output); output= f ++n} n {print >> output }' f=/vikas/list /vikas/final

Senast redigerad av vgersh99; 10-29-2007 vid 02:36..
  #6 (permalänk)  
Old 10-29-2007
vikas027 vikas027 is offline
Registered User
  
 

Join Date: oktober 2007
Inlägg: 77
Citat:
Ursprungligen postat av vgersh99 View Post
Kod:
awk '/SERVER/{if (n) close(output); output= f ++n} n {print >> output }' f=/vikas/list /vikas/final
hallå,
Detta gjorde gjort någon fil, inte ens en tom en.
Tack.
  #7 (permalänk)  
Old 10-29-2007
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Moderator
  
 

Join Date: februari 2005
Ort: Boston, MA
Inlägg: 5.122
Citat:
Ursprungligen postat av vikas027 View Post
hallå,
Detta gjorde gjort någon fil, inte ens en tom en.
Tack.
Sorry, då det - vissa awk är increment pre-increment ops verkar inte fungerar som de ska.
Kod:
awk '/SERVER/{if (n++) close(output); output= f n} n {print >> output }' f=/vikas/list /vikas/final
På Solaris - använd "nawk" eller "/ usr/xpg4/bin/awk"
Closed Thread

Komihåglista

Taggar
linux, Linux-kommandon

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 09:53.


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