¿Cómo puedo recorrer un directorio y agregar un prefijo a los nombres de archivos donde no están ya presentes?

0

Creo que el título lo dice todo, lo que debo hacer es recorrer todas las imágenes en un directorio en mi Ubuntu vb, buscar un prefijo (por ejemplo, 'ql_') si ya tiene el prefijo, quiero dejarlo solo , si no quiero agregar el prefijo al nombre del archivo.

Si tiene tiempo para explicar brevemente lo que ha hecho, se lo agradecería especialmente, ya que estoy intentando desesperadamente meterme en Linux. (e. G lo que hacen los comandos que estás usando)

SwiftD
fuente

Respuestas:

3

El operador de coincidencia de patrones en tcsh hace poco trabajo de esto. He usado citas alrededor del $i Sustituciones en caso de que algún nombre de archivo contenga espacios.

foreach i (*)
   if ( "$i" !~ ql_* ) mv "$i" ql_"$i"
end
Nicole Hamilton
fuente
Gracias Nicole, trabajó como un encanto. Nunca había escuchado de tcsh antes, parece práctico. Tendré que comprobarlo más a fondo.
SwiftD
tcsh es de Bill Joy Berkeley C shell . los t significa que es la versión que incluye la finalización del nombre de archivo y la edición de la línea de comandos. Yo empezaría con el Artículo de Wikipedia , lo cual es bastante bueno. El mejor libro sobre esto es el de 1986. UNIX C Shell Field Guide aunque es un poco fuera de fecha; Este fue el libro que guardé a mi lado cuando escribí mi propia concha C .
Nicole Hamilton