renombra archivos usando cada archivo como parámetro en la línea de comando de ubuntu


0

Me gustaría cambiar el nombre de estos archivos HTML para comenzar con "shopping-cart" ya que no me di cuenta de que habrá varios archivos en este curso. Asi que chapter-2.html va a shopping-cart-chapter-2.html, y así sucesivamente, con carpetas y style.css ser ignorado.

cchilders:~/tutorials/knockoutjs/knockout-for-students-book (master) 
$ ls
chapter-2-page-19.html  chapter-3.html      chapter-5.html      style.css
chapter-2.html      chapter-4.html      knockoutjs_succinctly

Necesito obtener cada archivo en esta carpeta como una matriz en lugar de una cadena, evaluar si cada archivo termina en .html, luego renómbrelo como

mv chapter-4.html shopping-cart-chapter-4.html 

usando el nombre de archivo y "shopping-cart" + el nombre de archivo

Esto es algo común que debo hacer desde la línea de comandos para un curso que necesito escribir donde los nombres de los archivos son significativos (se convierten en títulos), y normalmente no puedo averiguar cómo hacerlo en bash. ¿Cuáles son los pasos en la línea de comando, como el programa adecuado? sed, awk, grep, etc? Gracias

Respuestas:


1

Trate de usar un bucle:

cd ~/tutorials/knockoutjs/knockout-for-students-book
for f in *.html; do
  mv "$f" "chopping-chart-$f"
done
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.