![]() |
Hola y bienvenida de los Estados Unidos a la UNIX y Linux Foros! Gracias por su visita y formar parte de nuestra comunidad global.
|
|
google unix.com
|
|||||||
| Foros | Registro | Reglas de los Foros | Enlaces | Álbumes | Preguntas más frecuentes | Lista de miembros | Calendario | Búsqueda | Puestos de hoy | Marcar Foros Como Leídos |
| UNIX for Dummies Preguntas y Respuestas Si no está seguro de que para publicar un UNIX o Linux cuestión, puesto que aquí. Todos los novatos en Linux, UNIX y bienvenida! |
Más UNIX y Linux Foro Temas usted puede encontrar útiles
|
||||
| Hilo | Hilo para principiantes | Foro | Respuestas | Último mensaje |
| Contar cadena de una variable | Dip | Programación de scripts de shell y | 5 | 10-22-2008 08:19 AM |
| opción de grep para contar palabra exacta? | maddy | Linux | 3 | 06-17-2008 08:55 AM |
| Necesidad de shell / script sed para grep + cadena de reemplazo | pranavagarwal | Programación de scripts de shell y | 3 | 11-15-2007 06:35 AM |
| Contar la longitud máxima de cadena | ganesh123 | Programación de scripts de shell y | 2 | 02-23-2007 04:27 PM |
| Contando los patrones en una cadena de shell | kevin80 | UNIX for Dummies Preguntas y Respuestas | 3 | 06-03-2003 09:34 AM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
grep-c script contar dos veces la cadena en lugar de una vez?
He intentado esta secuencia de comandos para obtener una cuenta de la aparición de una cadena de caracteres en archivos.
Tengo varios archivos en un directorio voy a utilizar esto. Todos los nombres de los archivos comienzan "invALL.06" La escritura de obras, salvo que cuenta dos veces por cada uno de los casos de "Total de la factura '. Si hay 5 casos de "Factura Total" en un archivo, devuelve 10. Lo he probado con grep-cn y grep-cx. No ha mejorado. He intentado la cadena "Última Página" mismos resultados. He probado por la búsqueda de la palabra "continua" en los archivos. Cuenta correctamente. ¿Tiene que ver con grep-c en más de una cadena de una palabra? Gracias. Script i en invALL.06 * hacer count \u003d `grep-c 'Factura Total" $ i ` echo $ i "ha" $ contar "Totales Factura" hecho Resultados: invALL.0605 ha Factura 870 Totales invALL.0606 ha Factura 936 Totales El archivo que está buscando se parece a continuación. Sólo tiene "total factura" en la factura final de cada sección. y K2G y f504y4X (8U (s0p12.00h0s1b4102T y l6D y k10H y K2G y f504y4X (8U (s0p12.00h0s1b4102T y l6D y k10H y a0h60V Factura 000000 06/19/09 84888-00 25070 ZZ Joe 1 06/19/09 14:40 Vender a mi nombre co LLC (MD) 123 de su calle DR 777 mi CONDUCIR SUITE z su ciudad, VA 24551 Irvington, MD 21061 vende a mí DR 123 de su calle 555-555-1212 neto 30 días 07/19/09 yourtown, VA 24551 vendido a usted, John L 06/19/09 Para este cliente. para celebrar la 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 de no imponible: 89,43 Cantidad total de 3 líneas Enviado total 11 Total 89,43 Combustible Surchrg 3,50 Factura total 92,93 Última Página y K2G y f504y4X (8U (s0p12.00h0s1b4102T y l6D y k10H y K2G y f504y4X (8U (s0p12.00h0s1b4102T y l6D y k10H y K2G y f504y4X (8U (s0p12.00h0s1b4102T y l6D y k10H y K2G y f504y4X (8U (s0p12.00h0s1b4102T y l6D y k10H y a0 h60V Factura 000000 06/19/09 848700-01 25070 ZZ Ron 1 06/19/09 14:40 selltome isell, LLC (MD) 123 sellme 123 wesell CONDUCIR SUITE z pinetree, VA 24000 pinetree, AZ 12121 sellto mí 123 myroad 222-555-1212 Neto 30 días 07/19/09 árbol, 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 de no imponible: 7.30 Cantidad Total de Líneas 1 Enviado Total 2 Total 7,30 Factura total 7,30 Última Página |
|
||||
|
Código:
for i in invALL.06* do grep -c '^Invoice Total' $i | read count echo "$i has $count Invoice Totals" done |
|
||||
|
Esto se parece a un formato de archivo de impresión con códigos de control de la impresora.
Es posible que la necesidad de convertir los caracteres de control al texto antes de ejecutar una búsqueda de texto. Además, normalmente el proceso de composición abierta una lista de los archivos de "mientras" bucle que también se detiene el script romper si los nombres de archivos contienen caracteres de espacio. Intentar 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
Última edición por metilo; al 06-24-2009 06:04 PM.. Motivo: Typo |
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|