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
carácter de escape en tcsh balareddy Programación de scripts de shell y 1 08-15-2008 06:58 AM
Carácter de escape deepakpv Programación de scripts de shell y 4 02-16-2007 03:19 AM
awk / carácter de escape OFFSIHR Programación de scripts de shell y 8 11-29-2006 01:28 PM
Carácter de escape en vi? stevefox Programación de scripts de shell y 4 11-17-2005 03:38 PM
posible para escapar de la \ carácter sed? gammaman UNIX for Dummies Preguntas y Respuestas 1 07-07-2005 03:49 PM

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 10-07-2008
c00kie88 c00kie88 is offline
Usuario Registrado
  
 

Fecha: abril 2008
Puestos: 63
Angry Carácter de escape - sed

Hi All,

¿Cómo escribir en sed para el 6 y 7 de campo etc / passwd, ya que implica el archivo "/" personaje?

Por debajo de las minas no es la correcta? Es incompleta script como i necesita ayuda con la sintaxis que yo siempre obtener errores mayo

Ejemplo de etc / passwd el archivo:

bla: x: 1055:600: bla, bla: / home / blah: / bin / ksh

sed "s / \ ($ nombre:.: [0-9] *: \) [0-9] *: \ (.* \): \ (\ / .* \ / .* \): \ (\ / .* \ / .* \)

Última edición por c00kie88; al 10-07-2008 09:17 AM..
  #2 (Enlace permanente)  
Old 10-07-2008
época era is offline Forum Advisor  
Pastor de Gatos Inútil (en año sabático)
  
 

Fecha: marzo 2008
Ubicación: / hay / es / sólo / bin / sh
Puestos: 3.652
El separador después de s puede ser cualquier carácter. Asimismo, le recomiendo utilizar comillas simples alrededor de la secuencia de comandos a menos que específicamente necesita comillas dobles (en cuyo caso, las barras deben ser duplicado).


Código:
sed 's%\('"$name"':.:[0-9]*:\)[0-9]*:\(.*\):\(/.*/.*\):\(/.*/.*\) ...'

Notificación de la mezcla de individuales y dobles comillas anteriormente.
  #3 (Enlace permanente)  
Old 10-08-2008
c00kie88 c00kie88 is offline
Usuario Registrado
  
 

Fecha: abril 2008
Puestos: 63
He intentado eso, pero dice "SED: Comando ilegible:
  #4 (Enlace permanente)  
Old 10-08-2008
c00kie88 c00kie88 is offline
Usuario Registrado
  
 

Fecha: abril 2008
Puestos: 63
parece como:

sed "s / \ ($ nombre:.: [0-9] *: \) [0-9] *: \ (.* \): \ (/.*/.* \): \ (/.*/ .* \) / \ 1 $ respuesta \ 2 / "/ etc / passwd

He intentado que la única oferta era sugerido, pero SED no es feliz
  #5 (Enlace permanente)  
Old 10-08-2008
época era is offline Forum Advisor  
Pastor de Gatos Inútil (en año sabático)
  
 

Fecha: marzo 2008
Ubicación: / hay / es / sólo / bin / sh
Puestos: 3.652
Repito: lo que necesita el doble de barras si utiliza comillas dobles. Se trata de un artefacto de la cáscara de los mecanismos de citar, no de sed sintaxis como tal. Si utiliza la barra de separación, usted no necesita ninguna barra barras que no son los separadores, pero es mejor utilizar simplemente un carácter separador.


Código:
sed "s%\\($name:.:[0-9]*:\\)[0-9]*:\\(.*\\):\\(/.*/.*\\):\\(/.*/.*\\)%\1$answer\2%" /etc/passwd

Con comillas simples, que se convierte en


Código:
sed 's%\('"$name"':.:[0-9]*:\)[0-9]*:\(.*\):\(/.*/.*\):\(/.*/.*\)%\1'"$answer"'\2%' /etc/passwd

Las variables $ nombre o $ respuesta Obviamente, no puede contener el carácter separador en sus valores (o lo que necesita para escapar de los valores).

Editado por última época; al 10-08-2008 03:15 AM.. Exposición de motivos: La necesidad de escapar de las variables que contengan el separador
  #6 (Enlace permanente)  
Old 10-08-2008
c00kie88 c00kie88 is offline
Usuario Registrado
  
 

Fecha: abril 2008
Puestos: 63
Ok ..

Utilizo comillas simples ..

sed 's / \ ( "$ nombre "':.:[ 0-9] *: \) [0-9] *: \ (.* \): \ (/.*/.* \): \ ( /.*/.* \) '/ etc / passwd

pero todavía no es bueno ..

¿Qué hice mal?
  #7 (Enlace permanente)  
Old 10-08-2008
época era is offline Forum Advisor  
Pastor de Gatos Inútil (en año sabático)
  
 

Fecha: marzo 2008
Ubicación: / hay / es / sólo / bin / sh
Puestos: 3.652
Usted no es copiar + pegar correctamente, y no informar lo que el mensaje de error. "Todavía no hay buena" no es una utilidad de diagnóstico. Pero si usted cuidadosamente utilizar el ratón para copiar + pegar los comandos anteriores, y copia + pega cuidadosamente cualquier error aquí, podríamos ser capaces de ayudarle.

"Desconocido opción de s" significa que tiene algo después (lo que sed piensa que es) la separación de lo que no es una opción válida para el s / de / por / gp (aquí, "g" y "p" son las opciones). En este caso, es simplemente porque usted todavía utilizan la barra diagonal como separador, sin escapar de las barras que no son los separadores. Para cambiar el separador%, o escapar de las barras, según sea necesario.

Asimismo, su comando es parcial; le falta la "a" parte \ 1 $ respuesta \ 2
Closed Thread

Marcadores

Etiquetas
citando, sed sintaxis

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 12:07 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