renomeia arquivos usando cada arquivo como um parâmetro na linha de comando do ubuntu

0

Gostaria de renomear esses arquivos html para começar com "carrinho de compras", pois não sabia que haveria vários arquivos neste curso. Portanto, chapter-2.html vai para shopping-cart-chapter-2.html e assim por diante, com as pastas e style.css sendo ignoradas.

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

Eu preciso obter cada arquivo nesta pasta como uma matriz em vez de string, avaliar se cada arquivo termina em .html e renomeá-lo como

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

usando o nome do arquivo e o "carrinho de compras" + o nome do arquivo

Isso é uma coisa comum que eu preciso fazer na linha de comando para um curso que eu preciso escrever onde nomes de arquivos são significativos (se tornando títulos), e eu normalmente não consigo descobrir como fazer isso no bash. Quais são as etapas na linha de comando, como o programa adequado sed , awk , grep , etc? Obrigado

    
por codyc4321 04.11.2016 / 18:25

1 resposta

1

Tente usar um loop:

cd ~/tutorials/knockoutjs/knockout-for-students-book
for f in *.html; do
  mv "$f" "chopping-chart-$f"
done
    
por 04.11.2016 / 18:32