temp; mv $ temp y; hecho y ha funcionado bien para buscar y reemplazar cadenas con nombres etc en todos los" /> script de shell para buscar y reemplazar cadena en múltiples archivos - Los Foros UNIX y Linux
The UNIX and Linux Forums  
Hola y bienvenida de los Estados Unidos a la UNIX y Linux Foros! Gracias por su visita y formar parte de nuestra comunidad global.

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
buscar y reemplazar una cadena en el directorio de archivos koti_rama Programación de scripts de shell y 2 05-30-2008 03:48 AM
Buscar y reemplazar una cadena en múltiples archivos pharos467 UNIX for Dummies Preguntas y Respuestas 2 11-05-2007 11:47 PM
Buscar y reemplazar en varios archivos (shell script) jatins_s Programación de scripts de shell y 13 11-05-2007 02:11 PM
Buscar y sustituir los archivos en varias carpetas lodey Programación de scripts de shell y 6 09-28-2007 02:00 AM
encontrar varios archivos y FTP en Korn Shell lambjam UNIX for Dummies Preguntas y Respuestas 2 08-13-2007 10:50 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 11-05-2007
pharos467 pharos467 is offline
Usuario Registrado
  
 

Fecha: noviembre 2007
Puestos: 24
script de shell para buscar y reemplazar cadena en múltiples archivos

He utilizado el siguiente script


cd ruta
para y en el `ls *`;
hacer sed "s / ABCD / DCBA / g" $ y> temp; temp mv $ y;
hecho



y funcionó bien para buscar y reemplazar cadenas con nombres etc en todos los archivos de la ruta.

Estoy tratando de reemplazar una cadena que consiste en la ruta (ubicación de archivo)

en lugar de decir ABCD tengo que sustituir c: / mydocuments / fotos para
d: / mypics personal, como metacaracteres no será buscado en esta secuencia de comandos de Unix es que no para sustituir a la cadena que tiene un camino en el mismo.

ahora es mi script


cd ruta
para y en el `ls *`;
hacer sed "s / 'c: / mydocuments / fotos' /' d: / mypics / personal" / g "$ y> temp; temp mv $ y;
hecho





i cansado de dar la ruta entre comillas simples y dobles, pero veo el error

sed: Comando ilegible: s / 'c: / mydocuments / fotos' /' d: / mypics personal / '/ g


Y todo el contenido de los archivos en el camino se borran.


También intentó utilizar las siguientes sed --


sed -e "s! AAA! BBB! g"
sed e \u003d "+ s + AAA BBB + g"

como la cadena ha / en la ruta de ubicación del archivo

¿Hay alguna otra forma de trabajar esto.

Gracias
  #2 (Enlace permanente)  
Old 11-05-2007
aigles's Avatar
Aigles aigles is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: abril 2004
Ubicación: Burdeos, Francia
Mensajes: 1.423
Intentar
Código:
cd pathname
for y in `ls *`;
do 
   sed 's_c:/mydocuments/pictures_d:/mypics/personal_' $y > temp; mv temp $y;
done
Jean-Pierre.

Última edición por Aigles; al 11-05-2007 03:42 PM.. Motivo: comando sed corrección
  #3 (Enlace permanente)  
Old 11-05-2007
pharos467 pharos467 is offline
Usuario Registrado
  
 

Fecha: noviembre 2007
Puestos: 24
cansado

por debajo de la secuencia de comandos enviados error

sed: Comando ilegible:
  #4 (Enlace permanente)  
Old 11-05-2007
aigles's Avatar
Aigles aigles is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: abril 2004
Ubicación: Burdeos, Francia
Mensajes: 1.423
Hubo un error de / en la sed comando.
Cargo anterior modificado.

Jean-Pierre.
  #5 (Enlace permanente)  
Old 11-05-2007
gus2000 gus2000 is offline
Usuario Registrado
  
 

Fecha: octubre 2007
Puestos: 157
Las comillas simples se caracteres ordinarios, cuando dentro de comillas dobles. Así que usted puede hacer esto:

echo "está bien"

y esto no es un error o una cita abierta. Por lo tanto, poner una sola cita dentro de una cita sedexpresión está bien, pero no cita el texto entre ellos.

El código anterior de Jean-Pierre se ve bien para mí.
  #6 (Enlace permanente)  
Old 11-06-2007
pharos467 pharos467 is offline
Usuario Registrado
  
 

Fecha: noviembre 2007
Puestos: 24
Ahora se trabaja, uno de los desaparecidos _ es en mi sed comando.

2 Gracias a todos los que respondieron
  #7 (Enlace permanente)  
Old 01-15-2009
wlcm232 wlcm232 is offline
Usuario Registrado
  
 

Fecha: enero 2009
Publicaciones: 2
buscar y reemplazar la codificación en perl

#! / usr / bin /perl
# # bash. / ff.pl - productos \ / opt \ / WebSphere5 - zuro \ / opt \ / was6mig \ / WebSphere5 base

uso de archivos:: Busca;
getopt uso:: Long;
# $ dmPath \u003d "/ scratch / optcob / cells.dmgr.tmp";
# Modificar la Basepath con nuevo copiado WAS5 copiado ubicación.
$ Basepath \u003d "/ opt/IBM/WAS6.1/IBMIHS/CI_CNV_CRD_HTTPServer";
$ dmPath \u003d "/ DM5"; # No se preocupe por ello Basepath $ \u003d "/ app/WebSphere6/profiles";
$ tmpf \u003d "/ tmp / tmpf";
ModFileByRegex sub (
my ($ Tok, $ repl, $ FPAT, $ ruta) \u003d (@_);
my $ cnt \u003d 0;
fwanted sub (
-f & &
$ File:: Busca:: name \u003d ~ / $ FPAT / & & do (
open (INF, $ File:: Busca:: Nombre) | | die "no puede abrir archivos $:: Buscar:: Nombre: $!";
abierto (TMPF, "> $ tmpf") | | die "no puede abrir para escritura tmpf $: $!";
mi entrada \u003d @ <INF>;
mi cambio de $ \u003d grep (s / $ Tok / $ repl / g) @ entrada;
if ($ cambio> 0) (
INF estrecha;
imprimir TMPF @ entrada;
TMPF estrecha;
print "actualización / guardar copia de $ Archivo:: Buscar:: nombre \ n";
cambiar el nombre del archivo $:: Buscar:: nombre, $ File:: Busca:: nombre. ". org";
imprimir `cp-p $ $ tmpf Archivo:: Buscar:: nombre \ n";
$ cnt + +;
)
)
)
print "Ruta de búsqueda de $ $ para Tok en archivos denominados FPAT $ \ n";
encontrar (\ & fwanted, $ ruta);
return ($ cnt);
)
findDirByRegex sub (
my ($ Tok, $ repl, $ ruta) \u003d (@_);
my $ cnt \u003d 0;
quería sub (
-d & &
$ File:: Busca:: name \u003d ~ / $ Tok [\ w \ .]*?$/ & &
push @ DIRL, $ Archivo:: Buscar:: nombre;
)
print "¿Buscas directorios llamado Camino de $ $ Tok \ n";
encontrar (\ & quería, $ ruta);
while ($ _ \u003d pop @ DIRL) (
$ src \u003d $ _;
s / $ Tok ([\ w \ .]*)?$/$ Repl $ 1 /;
print "renombrar $ src, $ _ \ n";
cambiar el nombre de $ src, $ _ | | advierten "no puede cambiar el nombre de último archivo, por favor marque";
$ cnt + +;
)
return ($ cnt);
)
optctl% \u003d ();
GetOptions (\% optctl, "productos \u003d s", "s \u003d mazorca", "dmgr", "base");
print "opciones: \ n \ n";
print "productos del sistema (fuente del sistema):". ($ optctl "productos"). "\ n";; print "zuro sistema (sistema de destino):". ($ optctl "mazorca"). "\ n"; print "Do Despliegue Manager \ n" if ($ optctl ( "dmgr") \u003d\u003d 1); impresión "Do Base WebSphere \ n" if ($ optctl ( "base") \u003d\u003d 1);
print "\ n \ n";
if ($ optctl ( "dmgr") \u003d\u003d 1) (
print "actualizar el Administrador de implementaciones archivos XML \ n";
$ cnt \u003d ModFileByRegex ($ (optctl "productos"), ($ optctl "mazorca"), ".*", $ dmPath);
print "$ cnt archivos XML se han actualizado \ n";)
if ($ optctl ( "base") \u003d\u003d 1) (
print "la actualización de archivos XML WebSphere Base \ n";
$ cnt \u003d ModFileByRegex ($ (optctl "productos"), ($ optctl "mazorca"), $ ".*", Basepath);
print "$ cnt archivos XML se han actualizado \ n";)
if ($ optctl ( "dmgr") \u003d\u003d 1) (
print "Administrador de base de la actualización de Despliegue Directorio nombres \ n";
$ cnt \u003d findDirByRegex ($ (optctl "productos"), ($ optctl "mazorca"), $ dmPath);
print "$ cnt nombres de directorio actualizado \ n";)
if ($ optctl ( "base") \u003d\u003d 1) (
print "Directorio base de la actualización de WebSphere Nombres \ n";
$ cnt \u003d findDirByRegex ($ (optctl "productos"), ($ optctl "mazorca"), $ Basepath);
print "$ cnt nombres de directorio actualizado \ n";)
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:22 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