The UNIX and Linux Forums  
Hej og Velkommen fra USA til UNIX og Linux Forums! Tak for dit besøg og deltager i vores globale samfund.

Go Back   UNIX og Linux Forums > Top Forums > UNIX for dummyer Spørgsmål & svar
.
google unix.com



UNIX for dummyer Spørgsmål & svar Hvis du ikke ved, hvor man skal sende en UNIX-eller Linux-spørgsmål, efter det her. Alle UNIX og Linux newbies velkommen!

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Optælling streng af en variabel Dukkert Shell Programmering og Scripting 5 10-22-2008 08:19 AM
mulighed for grep for optælling eksakte ord?? maddy Linux 3 06-17-2008 08:55 AM
Behov shell / sed script for grep + string udskiftning pranavagarwal Shell Programmering og Scripting 3 11-15-2007 06:35 AM
Tælle max længde af strengen ganesh123 Shell Programmering og Scripting 2 02-23-2007 04:27 PM
Optælling mønstre i et skuffeselskab string kevin80 UNIX for dummyer Spørgsmål & svar 3 06-03-2003 09:34 AM

Reply
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øg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 06-24-2009
scarletsupra scarletsupra is offline
Registreret Bruger
  
 

Join Date: Jun 2009
Stillinger: 1
grep-c script optælling strengen to gange i stedet for én gang?

Jeg prøvede dette script til at få en sammentælling af forekomsten af en streng i filer.
Jeg har flere filer i en mappe jeg vil bruge dette på.
Alle filnavne begynde "invALL.06" Scriptet virker, undtagen det tæller to gange for hver én forekomst af 'Fakturaoplysninger alt «.
Hvis der er 5 forekomster af 'Fakturaoplysninger alt' i en fil den returnerer 10.
Jeg har prøvet det med grep-cn og grep-cx. Ikke bedre.
Jeg har forsøgt strengen "Last Page" samme resultater.
Jeg testet ved at søge efter ordet "Fortsat" i filer. Det tæller dem korrekt. Har det noget at gøre med grep-C på mere end ét ord strengen?
Tak.

Script
for jeg i invALL.06 *
gøre

count \u003d `grep-c 'Fakturaoplysninger alt' $ i`

echo $ I "har" $ count "Faktura Totaler"

gjort


Udgange:
invALL.0605 har 870 Faktura totaler
invALL.0606 har 936 Faktura totaler


Filen er det at søge udseende nedenfor. Det har kun "Faktura alt" i slutningen af hver faktura afsnit.

& 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ælge til mig co navn LLC (MD)
123 din gade DR 777 min DRIVE
SUITE z
Deres by, VA 24551 Irvington, MD 21061

sælge til mig
123 din gade DR 555-555-1212 Net 30 Days 07/19/09
yourtown, VA 24551 solgt til dig, L john 06/19/09


for
denne kunde.
hold for 6/17/09 levering
1 ED51 1 0 1 SHT 2,68 2,68
15 #
2 LA4 5 0 5 hver 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
Subtotal for ikke-afgiftspligtige: 89.43

3 Lines Total Qty Shipped alt 11 I alt 89,43
Brændstof Surchrg 3,50
Faktura i alt 92,93








Last Page
& 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 12.121

sellto mig
123 myroad 222-555-1212 Net 30 Days 07/19/09
træ, VA 24000 soldfromme, jjones 06/19/09


for
denne kunde.
5 her 2 0 2 hver 3,65 7,30
A24
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d
Subtotal for ikke-afgiftspligtige: 7,30

1 Lines Total Qty Shipped alt 2 I alt 7,30
Faktura i alt 7,30











Last Page
  #2 (permalink)  
Old 06-24-2009
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Beliggenhed: NM
Indlæg: 5.720
Code:
for i in invALL.06* 
do 
   grep -c '^Invoice Total' $i  | read count
   echo "$i  has  $count Invoice Totals" 
done
Prøv det.
  #3 (permalink)  
Old 06-24-2009
methyl methyl is offline
Registreret Bruger
  
 

Join Date: Mar 2008
Stillinger: 1165
Dette ligner en formateret udskrive filen komplet med printer kontrol koder.
Vi kan være nødt til at konvertere kontrol tegn til teksten, før du kører en tekstuel søgning. Også, vi plejer at behandle en åben liste over filer i "mens" loop som også stopper scriptet bryde hvis filnavne indeholder tegn.
Forsøge

Code:
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
Jeg noterer mig, at jim McNamara har begrænset søgningen til linjer begynder "Faktura alt", som måske allerede har løst problemet! Jeg kan delving for dybt.

Sidst redigeret af methyl; 06-24-2009 på 06:04 PM.. Årsag: Typo
Reply

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 08:50 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0