![]() |
|
|
google unix.com
|
|||||||
| Fóruns | Registar | Fórum Regimento | Ligações | Álbuns | FAQ | Lista deputados | Calendário | Pesquisa | Today's Posts | Mark Forums Read |
| UNIX para Dummies Perguntas & Respostas Se não tiver certeza de onde se pode postar uma pergunta Unix ou Linux, postá-lo aqui. Todos os UNIX e Linux novatos bem vindos! |
Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
|
||||
| Fio | Thread Starter | Fórum | Respostas | Última postagem |
| Contando seqüência de uma variável | Dip | Programação Shell Script e | 5 | 10-22-2008 09:19 |
| opção de grep palavra exata para contar? | Maddy | Linux | 3 | 06-17-2008 09:55 |
| Necessidade shell / sed script para grep + string substituição | pranavagarwal | Programação Shell Script e | 3 | 11-15-2007 06:35 |
| Contando o comprimento máximo da cadeia | ganesh123 | Programação Shell Script e | 2 | 02-23-2007 04:27 |
| Contando padrões em um reservatório string | kevin80 | UNIX para Dummies Perguntas & Respostas | 3 | 06-03-2003 10:34 |
![]() |
|
|
Linkback | Thread Tools | Pesquisar este Thread | Rate Thread | Display Modes |
|
|
|
||||
|
grep-c script contando string duas vezes, em vez de uma vez?
Eu tentei este script para obter a contagem da ocorrência de uma seqüência de arquivos.
Tenho vários arquivos em um diretório vou usar isto. Todos os nomes dos ficheiros começar "invALL.06" O script funciona, com a excepção de duas contagens para cada um exemplo de 'Fatura total ». Se há 5 ocorrências de "Fatura total" em um arquivo ele retorna 10. Eu testei-o com o grep-cn e grep-cx. Não melhor. Tenho tentado a string "Última Página" mesmos resultados. Eu testei por pesquisar a palavra "Continua" no processo. Conta-los corretamente. Será que isso tem a ver com o grep-c em mais de uma palavra uma seqüência? Obrigado. Script para i no invALL.06 * fazer count \u003d `grep-c 'Fatura total' $ i» echo $ i "tem" $ count "Factura Totais" feito Saídas: invALL.0605 tem 870 Factura Totais invALL.0606 tem 936 Factura Totais O arquivo é pesquisar parece abaixo. Ela só tem "Factura Total", no final de cada fatura seção. & k2G & f504y4X (8U (s0p12.00h0s1b4102T & l6D & k10H & k2G & f504y4X (8U (s0p12.00h0s1b4102T & l6D & k10H & a0h60V Fatura 000000 06/19/09 84888-00 25070 ZZ Joe 1 06/19/09 14:40 Vender-me co nome LLC (MD) 123 a 777 minha rua DR DRIVE SUITE z sua cidade, VA 24551 Irvington, MD 21061 vender para mim 123 sua rua DR 555-555-1212 Net 30 Dias 07/19/09 yourtown, VA 24551 vendido a você, John L 06/19/09 para este cliente. segure para entrega 6/17/09 1 ED51 1 0 1 SHT 2,68 2,68 15 # 2 LA4 5 0 5 cada 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 dos Não-Tributáveis: 89,43 3 Total Linhas Shipped Qtd Total 11 Total 89,43 Combustível Surchrg 3,50 Factura Total 92,93 Última página & 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 Fatura 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-me 123 myroad 222-555-1212 Net 30 Dias 07/19/09 árvore, VA 24000 soldfromme, jjones 06/19/09 para este cliente. 5 YMA 2 0 2 cada 3,65 7,30 A24 \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d Subtotal dos Não-Tributáveis: 7,30 Total Linhas 1 Shipped Qtd Total 2 Total 7,30 Factura Total 7,30 Última página |
|
||||
|
Isto parece um formatado imprimir arquivo completo com impressora controle códigos. Talvez seja necessário converter os caracteres de controle de texto antes de executar uma busca textual. Além disso, nós, normalmente, um processo aberto terminou lista de arquivos em loop "while", que também pára de se quebrar o script filenames conter caracteres de espaço. Tentar Código:
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
Observo que jim McNAMARA limitou a pesquisa de linhas começando "Factura Total", que pode já ter fixado o problema! I pode ser delving demasiado profundas. Última edição por metil; em 06/24/2009 07:04.. Motivo: Typo |
![]() |
| Marcadores |
| Thread Tools | Pesquisar este Thread |
| Display Modes | Esta taxa Thread |
|
|