Si tienes dudas o problemas, o prefieres pasar el tiempo, éste es tu lugar. Un lugar donde todos compartimos algo en común: GNU/Linux. "Somos más linuxeros que Torvalds y más barbudos que Stallman".
Ver más- 14,905 Miembros
- 19,130 Temas
- 3,850 Seguidores
[Solucionado] Shell script renombrar archivos
Hola estoy haciendo un practico sobre scripting en la universidad y se me presentaron dificultades en un ejercicio...Renombrando_Archivos: haga un script que renombre solo archivos de un
directorio pasado como parametro agregandole una CADENA, contemplando las
opciones:
“-a CADENA”: renombra el fichero concatenando CADENA al final
del nombre del archivo
“-b CADENA”: renombra el fichero concantenado CADENA al
principio del nombre del archivo
Ejemplo si en /temp existe un archivo "b"
./renombra /tmp/ -a EJ
Resultado: /tmp/aEJ /tmp/bEJ
./renombra /tmp/ -b EJ
Resultado: /tmp/EJa /tmp/EJb
eluney89 dijo:
para probar un poco de código escribí lo siguiente con un ls funciona pero me modifica hasta los directorios entonces decidi concatenar el ls -l (para tener la información de cuales son los directorios) con un grep -v d (para que solo me arroje los datos de los archivos), el problema es que el for me itera por cada uno de los datos que arroja el ls -l |grep -v d (es decir los permisos, el dueño del archivo, el nombre del archivo,etc) y no reconoce ninguna cadena como nombre de un archivo valido
nota: esto de ninguna manera lo pensé como código final
cd $1
for fichero in `ls -l | grep -v d` do
mv $fichero ${fichero}$2
done
eluney89 dijo:
entonces la pregunta sería con este comando ls -l | grep -v d existe alguna forma de solo seleccionar la columna donde se indica el nombre del archivo? o también si existe algún otro método que me permita iterar la modificación de los nombres de archivos.
- 0Calificación
- 1Seguidores
- 417Visitas
- 0Favoritos
Global
Argentina
Chile
Colombia
España
México
Perú
Uruguay
Venezuela
4 comentarios
ls -l|grep -v ^d|awk '{print $9}'
Prueba qué tal te anda eso.
Funciona!, pero solo con archivos cuyo nombre no contengan espacios
Aca tenes mas scrips, agregar guiones bajos, espacios.etc
http://www.taringa.net/posts/linux/14855193/Scripts-que-te-haran-la-vida-mas-sencilla.html
Gracias! yo también estaba probando variantes del comando awk