Tente usar um loop:
cd ~/tutorials/knockoutjs/knockout-for-students-book
for f in *.html; do
mv "$f" "chopping-chart-$f"
done
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
Tags command-line bash sed linux ubuntu