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
räkna max awk halola85 Shell-programmering och Skript 9 12-01-2008 07:44
Spela upp ett register räkna med ännu ett rekordår räkna er_zeeshan05 Shell-programmering och Skript 2 10-30-2008 12:14
Sortering använder räkna, grep och räkna sukhpal_78 UNIX for Dummies Frågor & Svar 2 06-27-2008 01:13
Hur räkna titelinformation räkna i en EBCDIC-fil. oracle8 UNIX for Dummies Frågor & Svar 1 07-26-2006 08:22
CPU count hshapiro UNIX for Dummies Frågor & Svar 2 04-03-2006 02:08

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 02-09-2009
amiri2000 amiri2000 is offline
Registered User
  
 

Join Date: Aug 2006
Inlägg: 11
Behöver du hjälp att räkna distribution

Hej,
Behöver hjälp av ett skript som räknar ingen av distributioner från nedanstående Sample indatafilen.

Nedan följer mitt exempel indatafil. Inte säker på om det fungerar eller inte.
Anmärkning: (Vi kan använda en seperator om det behövs)
Min produktionen skulle komma ut för varje Store:

Produktionen ska se ut så här:
Store_MS1: 4 Deployments
Store_MS2: 3 Deployments
- MS3
.. MS8: 1 Distribution
__________________________________
Sample indatafil:
__________________________________



Ansluten till Admin Server "Store_Adm" som hör till domänen "Store_CITY_XXX".

Varning: En osäker protokollet användes för att ansluta till
server. För att säkerställa On-The-wire säkerhet, SSL-porten eller
Admin hamn bör användas i stället.

Läge ändrats till serverRuntime träd. Detta är en skrivskyddad träd med DomainMBean som rot.
För mer hjälp, använd hjälp (domainConfig)

Läge ändrats till domainRuntime träd. Detta är en skrivskyddad träd med DomainMBean som rot.
För mer hjälp, använd hjälp (domainRuntime)

Store_MS1
RxP_01.00.16.00_PT
Security_01.00.16.00_PT
PreEditEngine_01.00.16.00_PT
RxPConfig_01.00.16.00_PT
Store_MS2
Security_01.00.16.00_PT
PreEditEngine_01.00.16.00_PT
RxPConfig_01.00.16.00_PT
Store_MS3
PreEditEngine_01.00.16.00_PT
RxP_01.00.16.00_PT
Store_MS4
PreEditEngine_01.00.16.00_PT
Sore_MS5
PreEditEngine_01.00.16.00_PT
Store_MS6
RxP_01.00.16.00_PT
Store_MS7
PreEditEngine_01.00.16.00_PT
RxP_01.00.16.00_PT
RxPConfig_01.00.16.00_PT
Security_01.00.16.00_PT
Store_MS8
PreEditEngine_RxC_01.00.16.00_PT


Tack på förhand.
  #2 (permalänk)  
Old 02-09-2009
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderator
  
 

Join Date: februari 2005
Ort: Boston, MA
Inlägg: 5.131

Kod:
nawk '/Store_.*/ {a[$1]++} END { for(i in a) printf("%s: %d Deployments\n", i, a[i])}' mySampleFile

  #3 (permalänk)  
Old 02-09-2009
amiri2000 amiri2000 is offline
Registered User
  
 

Join Date: Aug 2006
Inlägg: 11
Inte ger mig rätt utgång

Jag kör detta, men fick resultat såsom:
Store_MS1: 1 Deployments
Store_MS2: 1 Deployments
Store_MS3: 1 Deployments
Store_MS4: 1 Deployments
Store_MS6: 1 Deployments
Store_MS7: 1 Deployments
Store_MS8: 1 Deployments
.. Men det ska vara 4, 3 etc. ..
  #4 (permalänk)  
Old 02-09-2009
cdlaforc cdlaforc is offline
Registered User
  
 

Join Date: februari 2009
Inlägg: 4
Prova detta.

Spara nedan koden i chris2.awk
(

if (substr ($ 1,1,5) \u003d\u003d "Store") (

if (NAMN !\u003d"")
(
printf ( "% 15s:% 15s Deployments \ n", namn, COUNT)
)

COUNT \u003d 0
Name \u003d $ 1

)
annan
(
Count \u003d count 1

)
)

och om din indatafilen är chris2.txt kör nedanstående kommando.
awk-f chris2.awk chris2.txt


Tack,


Chris.
  #5 (permalänk)  
Old 02-09-2009
amiri2000 amiri2000 is offline
Registered User
  
 

Join Date: Aug 2006
Inlägg: 11
det fungerar

fungerar .. Tack för alla era snabb hjälp.
  #6 (permalänk)  
Old 02-09-2009
tommy1 tommy1 is offline
Registered User
  
 

Join Date: februari 2009
Inlägg: 16
Du kan prova detta

Kod:
#!/usr/bin/ksh
i=0;
j=0;
while read Record
do
 if [ ${Record:0:8} == "Store_MS" ]
 then
      if [ $i !=  0 ]
      then
         printf "number of deployments= %d\n" $j
         j=0;
      fi
      i=1;
      printf "%s " $Record;
 elif [ $i == 1 ]
 then
      j=`expr $j + 1`
 fi
done  < input_file
printf "number of deployments= %d\n" $j

  #7 (permalänk)  
Old 02-09-2009
vgersh99's Avatar
vgersh99 vgersh99 is online now Forum Staff  
Moderator
  
 

Join Date: februari 2005
Ort: Boston, MA
Inlägg: 5.131
sorry, missförstod vad du ville - förhoppningsvis är detta vad du ville:

Kod:
nawk '/Store_.*/ {id=$1;next} {a[id]++} END { for(i in a) printf("%s: %d Deployments\n", i, a[i])}' mySampleFile

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 01:42.


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