Tengo un montón de archivos de la siguiente manera:
04602635_b0294.DAT20120807164534
04602637_b0297.DAT20120807164713
04602638_b0296.DAT20120807164637
04602639_b0299.DAT20120807164819
04602640_b0298.DAT20120807164748
04602641_b0300.DAT20120807164849
04602650_b0301.DAT20120807164921
04602652_b0302.DAT20120807164956
Necesito cambiarles el nombre para excluir el prefijo. Tiene que verse así ...
b0294.DAT20120807164534
b0297.DAT20120807164713
b0296.DAT20120807164637
b0299.DAT20120807164819
b0298.DAT20120807164748
b0300.DAT20120807164849
b0301.DAT20120807164921
b0302.DAT20120807164956
EDITAR
Olvidé agregar que estoy usando Solaris.
"${file#*_}"
?echo
, solo canalice la salida del scriptbash
.Puede usar la herramienta
rename
para esto:Si lo agrega,
-n
no cambiará el nombre de nada y solo le mostrará lo que se habría hecho sin él-n
.En respuesta al comentario de rush: my
rename
is es en realidad un enlaceprename
enviado con elperl
paquete de Debian y Ubuntu .fuente
rename
no siempre es igual en diferentes sistemas y, a veces, su sintaxis puede ser diferente.perl-rename
no es en absoluto específico de Debian. Simplemente no se llamarename
peroperl-rename
oprename
en otras distribuciones. Sin embargo, siempre debe estar en los repositorios y uno también se instala con perl .rename
y que probablemente se instalará sin solicitar explícitamente un paquete que no se llama solorename
, es específico de Debian. Otras distribuciones de Linux llaman al comandoprename
operl-rename
para evitar confusiones con el util-linuxrename
y no lo incluyen con el paquete perl, y no conozco ningún unix que no sea Linux que lo envíe bajo el nombrerename
o que lo envíe en un instalación predeterminada con cualquier nombre.