![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| UNIX for Dummies Frågor & Svar Om du inte är säker på var att skriva en UNIX eller Linux fråga efter det här. Alla UNIX-och Linux-nybörjare välkomna! |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| Counting sträng med en variabel | Doppa | Shell-programmering och Skript | 5 | 10-22-2008 09:19 |
| möjlighet grep för att räkna exakta ord? | Maddy | Linux | 3 | 06-17-2008 09:55 |
| Behöver shell / sed script för grep + string ersättning | pranavagarwal | Shell-programmering och Skript | 3 | 11-15-2007 06:35 |
| Counting max längd av strängen | ganesh123 | Shell-programmering och Skript | 2 | 02-23-2007 04:27 |
| Counting mönster i ett skal string | kevin80 | UNIX for Dummies Frågor & Svar | 3 | 06-03-2003 10:34 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
grep-c skriptet räknar string två gånger istället för en gång?
Jag försökte detta script för att få räkna med förekomsten av en sträng i filer.
Jag har flera filer i en katalog jag kommer att använda den här. Alla filnamnen börjar "invALL.06" Skriptet fungerar, förutom att det räknas två gånger för varje instans av "Fakturainformation totalt. Om det finns 5 förekomster av "Fakturainformation Totalt" i en fil den återgår 10. Jag har försökt det med grep-cn och grep-cx. Nej bättre. Jag har försökt strängen "Sista sidan" samma resultat. Jag testade genom att söka efter ordet "fortsatt" i filer. Det räknas dem korrekt. Har det att göra med grep-c på mer än ett ord string? Tack. Script för jag i invALL.06 * göra count \u003d "grep-c" Fakturainformation totalt $ i " echo $ i "har" $ count "Faktura Totalt" gjord Utgångar: invALL.0605 har 870 Faktura Totalt invALL.0606 har 936 Faktura Totalt Filen den söker ser ut som nedan. Det har bara "Faktura Totalt" i slutet av varje faktura avsnitt. & k2G & f504y4X (8U (s0p12.00h0s1b4102T & l6D & k10H & k2G & f504y4X (8U (s0p12.00h0s1b4102T & l6D & k10H & a0h60V Faktura 000000 06/19/09 84888-00 25070 ZZ joe 1 06/19/09 14:40 Sälj till mig co namn LLC (MD) 123 din gata DR 777 min DRIVE SUITE z din stad, VA 24551 Irvington, MD 21061 sälja till mig 123 din gata DR 555-555-1212 Net 30 Dagar 07/19/09 yourtown, VA 24551 sålda till er, L John 06/19/09 För denna kund. håll för 6/17/09 leverans 1 ED51 1 0 1 SHT 2,68 2,68 15 # 2 LA4 5 0 5 respektive 8,00 90,00 040 3 EW4 5 0 5 sht 7.35 36.75 4mm \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d Delsumma för icke beskattningsbara: 89.43 3 Lines Totalt Antal Skickad Totalt 11 Totalt 89,43 Bränsle Surchrg 3,50 Faktura Totalt 92,93 Sista sidan & k2G & f504y4X (8U (s0p12.00h0s1b4102T & l6D & k10H & k2G & f504y4X (8U (s0p12.00h0s1b4102T & l6D & k10H & k2G & f504y4X (8U (s0p12.00h0s1b4102T & l6D & k10H & k2G & f504y4X (8U (s0p12.00h0s1b4102T & l6D & k10H & a0 h60V Faktura 000000 06/19/09 848700-01 25070 ZZ Ron 1 06/19/09 14:40 selltome isell, LLC (MD) 123 sellme 123 wesell DRIVE SUITE z pinetree, VA 24000 pinetree, az 12121 sellto mig 123 myroad 222-555-1212 Netto 30 dagar 07/19/09 träd, VA 24000 soldfromme, jjones 06/19/09 för denna kund. 5 YMA 2 0 2 respektive 3,65 7,30 A24 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d Delsumma för icke beskattningsbara: 7,30 1 Lines Totalt Antal Skickad Totalt 2 Totalt 7,30 Faktura Totalt 7,30 Sista sidan |
|
||||
|
Det ser ut som en formaterad skriva ut filen komplett med skrivaren kontroll koder. Vi kan behöva konvertera kontroll tecken till text innan du kör en textuell sökning. Dessutom har vi vanligtvis processen en öppen slutade filförteckning i "medan" loop som också stoppar script bryta om filnamn innehåller mellanslag. Försöka Kod:
ls -1d invALL.06* | while read FILENAME
do
# sed -n l (character ell) converts control characters to text
count=`sed -n l "${FILENAME}" | grep -c 'Invoice Total'`
echo "${FILENAME} has ${count} Invoice Totals"
done
Jag noterar att jim McNamara har begränsat sökningen till rader som börjar "Faktura totalt" som redan har åtgärdat problemet! Jag kan djupdykning för djupt. Senast redigerad av metyl; 06-24-2009 vid 07:04.. Orsak: stavfel |