Я хотел бы переименовать эти html-файлы, чтобы начать с "корзины покупок", так как я не знал, что в этом курсе будет несколько файлов. Итак, chapter-2.html переходит к shopping-cart-chapter-2.html и т.д., При этом папки и style.css игнорируются.

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

Мне нужно получить каждый файл в этой папке в виде массива вместо строки, оценить, заканчивается ли каждый файл в .html , а затем переименовать его как

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

используя имя файла и "корзина покупок" + имя файла

Это обычная вещь, которую мне нужно сделать из командной строки для курса, который мне нужно написать, где имена файлов значительны (становятся заголовками), и я обычно не могу понять, как это сделать в bash. Какие шаги в командной строке, такие как правильная программа sed , awk , grep и т.д.? Спасибо

1 ответ1

1

Попробуйте использовать цикл:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .