" lo que quiero es de dos variables Db1 \u003d datos" /> Extraer cadena entre <> - El UNIX y Linux Foros
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
Cómo extraer la cadena? namrata5 Programación de Alto Nivel 2 10-24-2007 04:17 AM
Extracto dígitos al final de la cadena offirc Programación de scripts de shell y 6 11-20-2006 11:57 AM
Extracto de cuerda sehgalniraj UNIX for Dummies Preguntas y Respuestas 1 09-25-2006 01:35 PM
Extracto de cuerda bestbuyernc Programación de scripts de shell y 5 11-14-2005 03:42 PM
Cómo extraer una porción de una cadena de toda la cadena ds_sastry UNIX for Dummies Preguntas y Respuestas 2 09-29-2001 11:40 AM

Closed Thread
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 11-20-2007
rakeshou rakeshou is offline
Usuario Registrado
  
 

Fecha: Mayo 2007
Puestos: 75
Wink Extraer cadena entre <>

hola,

Quiero una forma sencilla de extraer cadena entre dos corchetes angulares <>

el texto parece

echo "# # # Uso: $ 0 <database1> <database2>"

lo que quiero es de dos variables Db1 \u003d database1 y DB2 \u003d database2

Lo que estoy haciendo me parece torpe


Código:
DB1=`echo $line | sed 's/"//g' | sed 's/>//g' | awk -F"<" '{print $2}'`
DB2=`echo $line | sed 's/"//g' | sed 's/>//g' | awk -F"<" '{print $3}'`

gracias de antemano
  #2 (Enlace permanente)  
Old 11-20-2007
radoulov's Avatar
radoulov radoulov is offline Forum Staff  
adicto
  
 

Fecha: enero 2007
Ubicación: Варна, България / Milán, Italia
Mensajes: 2.926
Con bash/ksh93:


Código:
line='###Usage: $0 <database1> <database2>' line=(${line//[<>]})
db1="${line[2]}" db2="${line[3]}"

Con zsh:


Código:
line=(${=line//[<>]})
db1="${line[3]}" db2="${line[4]}"

O:


Código:
db1="${${(m)line%*> <*}#*<}"
db2="${${(m)line#*> <}%?}"

  #3 (Enlace permanente)  
Old 11-20-2007
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Moderador
  
 

Fecha: febrero 2005
Localización: Boston, MA
Mensajes: 5.131

Código:
echo "${line}" | nawk -F '(<|>)' '{ printf("DB1=%s;DB2=%s\n", $2, $4)}'

  #4 (Enlace permanente)  
Old 11-20-2007
rakeshou rakeshou is offline
Usuario Registrado
  
 

Fecha: Mayo 2007
Puestos: 75
Thats aseado

hay otras maneras de hacerlo?

Gracias
  #5 (Enlace permanente)  
Old 11-20-2007
Franklin52 Franklin52 is offline Forum Staff  
Moderador
  
 

Fecha: febrero 2007
Mensajes: 4.342

Código:
DB1=`echo $line | sed 's/.*<\(.*\)> <.*/\1/'`

DB2=`echo $line | sed 's/.*> <\(.*\)>"/\1/'`

Recuerdos
  #6 (Enlace permanente)  
Old 11-20-2007
rakeshou rakeshou is offline
Usuario Registrado
  
 

Fecha: Mayo 2007
Puestos: 75
didnt bastante trabajo

Cita:
Publicado originalmente por Franklin52 View Post
Código:
DB1=`echo $line | sed 's/.*<\(.*\)> <.*/\1/'`

DB2=`echo $line | sed 's/.*> <\(.*\)>"/\1/'`

Recuerdos
bash-3.00 $ línea \u003d'### Uso: $ 0 <database1> <database2> '
bash-3.00 $ Db1 \u003d `echo $ line | sed 's / .* <\ (.* \)> <.* / \ 1 /' `
bash-3.00 $
bash-3.00 $ DB2 \u003d `echo $ line | sed 's / .*> <\ (.* \)> "/ \ 1 /'`
bash-3.00 $ echo $ Db1
database1
bash-3.00 $ echo $ DB2
# # # Uso: $ 0 <database1> <database2>
bash-3.00 $
  #7 (Enlace permanente)  
Old 11-20-2007
LivinFree's Avatar
LivinFree LivinFree is offline Forum Advisor  
Goober Extraordinaire
  
 

Fecha: julio 2001
Ubicación: Portland, OR, EE.UU.
Puestos: 1.584
Ahh crikey - Acabo de notar radoulov del puesto. Buena llamada.

Última edición por LivinFree; al 11-20-2007 01:58 PM..
Closed Thread

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 01:11 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