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
Cambiar el nombre de varios archivos jayell Programación de scripts de shell y 7 01-12-2009 04:27 PM
Cambiar el nombre de varios archivos Jazmania Programación de scripts de shell y 6 01-02-2009 02:16 PM
Cambiar el nombre de varios archivos dhiren_shah UNIX for Dummies Preguntas y Respuestas 2 09-12-2008 02:23 AM
Cambiar el nombre de varios archivos rmayur UNIX for Dummies Preguntas y Respuestas 6 02-26-2004 04:40 AM
Cambiar el nombre de varios archivos jxh461 Programación de scripts de shell y 4 04-01-2003 07:25 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 01-02-2009
shekhar_v4 shekhar_v4 is offline
Usuario Registrado
  
 

Fecha: enero 2009
Puestos: 17
Cambiar el nombre de los archivos (varios archivos)

Hola,

Tengo un directorio con los nombres de archivos como ABC20090101AXY.txt, ABC20090102BZ.txt, etc ABC20090101COF.txt Los dígitos en los nombres de los archivos representan la fecha. Quiero cambiar el nombre de los archivos a AXY.txt, BZ.txt y COF.txt

He intentado con este código.

mi_archivo fecha \u003d '+ ABC% Y% m% d'
for i in *. txt
hacer
mv $ i `echo $ i | sed 's / mi_archivo $ / /' `
hecho

Pero su mensaje de que

mv: ABC20090101AXY.txt y ABC20090101AXY.txt son idénticos

Que me ayude para encontrar el problema.

Recuerdos,
Shekhar
  #2 (Enlace permanente)  
Old 01-02-2009
in2nix4life's Avatar
in2nix4life in2nix4life is offline
Usuario Registrado
  
 

Fecha: octubre 2007
Ubicación: East Coast
Puestos: 58
Si usted tiene Perl instalados, esto puede ayudarle a:

for x in *. txt; hacer mv $ x `echo $ x | perl -pe 's / ^ \ w + \ d +(.*)/$ 1 /' `; hacer

Espero que esta ayuda.
  #3 (Enlace permanente)  
Old 01-02-2009
Christoph Spohr Christoph Spohr is offline
Usuario Registrado
  
 

Fecha: Sep 2008
Puestos: 205
Hola,

dentro de las variables de shell''no se expandió. Así que aquí


Código:
mv $i `echo $i | sed 's/$myfile//'`

$ miarchivo no será sustituido por el de "fecha" ABC +% Y% m% d ' ".

Utilice "..." o no sed en absoluto. Shell construido-ins son suficientes. Prueba:

Código:
mv $i ${i/200[7-9][0-1][0-9][0-3][0-9]/}

Chris HTH
  #4 (Enlace permanente)  
Old 01-03-2009
reddysiva reddysiva is offline
Usuario Registrado
  
 

Fecha: diciembre 2008
Puestos: 11
Prueba esta
mi_archivo \u003d $ (date '+ ABC% Y% m% d')
for i in *. txt
hacer
mv $ i `echo $ i | sed "s / mi_archivo $ / /" `
hecho

i thik u didnt uso posterior tics o $ () para establecer la variable miarchivo.
para gastar $ miarchivo uso "en lugar de '

He intentado este
a \u003d $ (date '+ ABC% Y% m% d')

echo ABC20090103AXY.txt | sed 's / $ a / / g'
ABC20090103AXY.txt

echo ABC20090103AXY.txt | sed "s / $ a / / g"
AXY.txt

echo '$ aABC20090103AXY.txt' | sed "s / $ a / / g"
$ aAXY.txt

echo '$ aABC20090103AXY.txt' | sed 's / $ a / / g'
ABC20090103AXY.txt
  #5 (Enlace permanente)  
Old 01-05-2009
ghostdog74 ghostdog74 is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: Sep 2006
Puestos: 2.555
Cita:
Publicado originalmente por shekhar_v4 View Post
Hola,

Tengo un directorio con los nombres de archivos como ABC20090101AXY.txt, ABC20090102BZ.txt, etc ABC20090101COF.txt Los dígitos en los nombres de los archivos representan la fecha. Quiero cambiar el nombre de los archivos a AXY.txt, BZ.txt y COF.txt

He intentado con este código.

mi_archivo fecha \u003d '+ ABC% Y% m% d'
for i in *. txt
hacer
mv $ i `echo $ i | sed 's / mi_archivo $ / /' `
hecho

Pero su mensaje de que

mv: ABC20090101AXY.txt y ABC20090101AXY.txt son idénticos

Que me ayude para encontrar el problema.

Recuerdos,
Shekhar
si tiene Python y puede usarlo, aquí hay un listo script usted puede usar. Ejemplos de uso

Código:
# ls -1
ABC20090101AXY.txt
ABC20090101COF.txt
ABC20090102BZ.txt

# filerenamer.py -p "ABC\d+" -e "" -l "ABC*.txt"
==>>>>  [ /home/ABC20090101COF.txt ]==>[ /home/COF.txt ]
==>>>>  [ /home/ABC20090101AXY.txt ]==>[ /home/AXY.txt ]
==>>>>  [ /home/ABC20090102BZ.txt ]==>[ /home/BZ.txt ]

eliminar "-l" para hacer cambiar el nombre real.
  #6 (Enlace permanente)  
Old 01-05-2009
freizl freizl is offline
Usuario Registrado
  
 

Fecha: noviembre 2008
Publicaciones: 3
Suponiendo que la "ABC20090102" cadena es de longitud fija.
Y estoy usando sh shell.


Código:
ls -1 *.txt | awk '{print "mv", $1, substr($1,12) }' | sh


Última edición por freizl; al 01-05-2009 04:55 AM..
  #7 (Enlace permanente)  
Old 01-05-2009
ghostdog74 ghostdog74 is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: Sep 2006
Puestos: 2.555
Cita:
Publicado originalmente por freizl View Post
Suponiendo que la "ABC20090102" cadena es de longitud fija.
Y estoy usando sh shell.


Código:
ls -1 *.txt | awk '{print "mv", $1, substr($1,12) }' | sh
tampoco es necesario el uso de ls y sh, haciendo uso de la variable FILENAME

Código:
awk '{ system("mv " FILENAME" " substr(FILENAME,1,12) )}' ABC*.txt

no probados.
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 07:10 AM.


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