![]() |
|
|
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 |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
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. |
|
||||
|
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. .. |
|
||||
|
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. |
|
||||
|
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
|