The UNIX and Linux Forums  


Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de scripts de shell y
.
google unix.com



Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
Necesita ayuda para comando sed (añadiendo una línea en blanco BTW generados por cada bloque patrón) frozensmilz Programación de scripts de shell y 2 01-08-2009 12:12 AM
hacer múltiples línea que contiene un patrón único en línea VTAWKVT Programación de scripts de shell y 13 12-04-2008 06:40 PM
comentario / eliminar un patrón particular a partir de la segunda línea de un patrón de coincidencia IMAS Programación de scripts de shell y 4 10-13-2008 03:37 AM
Imprimir patrones en la línea FK_Daemon Programación de scripts de shell y 3 11-23-2007 04:27 PM
sed - Sustituir la línea que contiene el patrón coincide con una nueva línea kousikan Programación de scripts de shell y 2 03-24-2007 07:24 AM

 
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 01-05-2009
frozensmilz's Avatar
frozensmilz frozensmilz is offline
Usuario Registrado
  
 

Fecha: agosto 2008
Publicaciones: 28
Necesita ayuda para comando sed [+ la impresión de un patrón de su línea o de línea no solo]

Hola amigos,

Sólo muy recientemente he comenzado a aprender sed mando ... me pareció que un sed es más rápido en la búsqueda de los patrones que algunos de mis scripts que utiliza para comprobar la grep Patten, dentro de un archivo línea por línea utilizando el método de búsqueda que es mucho tiempo.

Por debajo de la secuencia de comandos "strMatch" es uno de ellos que utilizo para buscar un patrón. Una vez que el patrón se encuentra se mostrará el modelo y el número de línea o el número de línea por sí sola como se indica a continuación.

> Entrada
strMatch Sample.cpp "PLAN STRING"
> Producto
5: PLAN DE CUERDA

> Entrada
strMatch Sample.cpp "PLAN STRING" 2
> Producto
5

Muchos de mis otros script ha comenzado a usar este script y la dependencia de este script tiene casi se convirtió en complejos de manera que los nuevos scripts que utiliza strMatch, directa o indirectamente, para fines diversos en la ejecución es lenta. He observado que las siguientes sed comando puede ser usado para ajustar strMatch para aumentar la velocidad de búsqueda ...

sed '/ PLAN DE CUERDA / p' Sample.cpp

Pero necesito para obtener el número de línea, como también mi anterior strMatch .... ¿Hay alguna forma de imprimir la salida como a continuación

Producto 1 [número de línea y patrón]
5 PLAN DE CUERDA

Producto 2 [número de línea donde se encontró patrón]
5

Debido a que algunos de mis guiones sólo utiliza estos números de línea ..... La amabilidad de ayudar en la toma de secuencia de comandos rápida strMatch .... el fin de strMatch es buscar un patrón y restablecer el patrón o el patrón de localización, junto con la ubicación real ..... A continuación se strMatch script ...

hay un caso especial para el manejo de "incluir" palabras clave ..... yo no soy capaz de encontrar alguna alternativa para "ejecutar" para pasar el contenido de un archivo a una variable como tal (con la alineación correcta y )..... i alguna vez incluyen la búsqueda de palabra clave es ... exec sobre todos los archivos de la carpeta ....... creo que con sed i comando no será exigir "exec",

Gracias de antemano ...........
-------------------------------------------------- -----------------------

filtro () (
patrón \u003d $ 1
línea \u003d $ 2
for x in $ linea; hacer
bandera \u003d `echo $ x | grep-c $ patrón»

if [$-eq pabellón 1] y, a continuación,
return $ pabellón
algo más
return 0
fi
hecho
)

# filterKeywords () (

#)


patrón \u003d $ 2
exec <$ 1
# fileCont \u003d `rdfil $ 1»
linCnt \u003d 1

exitCnt \u003d `lincnt $ 1»
cnt \u003d 0
count \u003d 0
modo \u003d $ 3
# rdfil $ 1
mientras que leer línea; hacer

if [ "$ 2" \u003d\u003d "incluir"] y, a continuación,
quitCon \u003d `echo $ linea | grep-c "//-------------------------"`
if [$ quitCon-eq 1] y, a continuación,
contar \u003d$(($ contar + 1))
if [$ count-eq 2] y, a continuación,
romper
fi
fi
fi

estado \u003d `echo $ linea | grep-c" $ 2 "»
if [$ estado-eq 1] y, a continuación,
fflag \u003d `$ filtro patron $ línea»
wcnt \u003d `echo $ fflag | wc-l»
if [$ wcnt \u003d\u003d 1] y, a continuación,
if [$ $ exitCnt ge-CNT] y, a continuación,
if [ "$ modo"! \u003d "2"]; a continuación,
$ modo en caso
"NUM") # NÚMERO DE LÍNEA
echo $ linCnt
;;

"FON") # PRIMERA LÍNEA NÚMERO DE OCURRENCIA
echo $ linCnt
salida
;;

"FOLN") # PRIMERA LÍNEA DE SUCESOS
echo $ linea
salida
;;

"LN") sólo las líneas #
echo $ linea
;;

*) # PREDETERMINADO
echo $ linCnt: $ linea
;;
esac
# echo "Hola"
algo más
echo $ linCnt
fi
# $ filterKeywords línea
fi
fi
fi
linCnt \u003d$(($ linCnt + 1))

cnt \u003d$(($ cnt + 1))
# echo $ "---------------------------------------$ cnt exitCnt "
hecho

# echo "Adiós!"
 

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 04:13 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0