for i in *;
do new=`echo "$i" | sed -e 's/^./\U&/'`;
mv "$i" "$new";
done;
Будет ли весь код разбит, чтобы его было легко просматривать, я объясню ниже.
Сначала мы должны убедиться, что мы обрабатываем каждый файл, следующая строка означает: «Делайте следующее, пока вы можете найти файлы»
for i in *;
Затем мы должны загрузить текущее имя файла (которое хранится в переменной $ i), заменить первую букву заглавной версией и сохранить новое имя (в переменной $ new).
Следующая команда в основном означает: Создать переменную $ new (do new=
) Загрузить $ i и переслать ее ("$i" |
) в функцию, которая заменяет первую букву заглавной. (sed -e 's/^./\U&/'
; `)
Страницу руководства sed можно найти здесь. Он используется для выполнения базовых преобразований текста. Что в основном делает, это использует регулярное выражение ('s/^./\U&/'
part) (способ обнаружения определенного шаблона в тексте) для обнаружения некапитализированных первых символов и замены его заглавными буквами.
do new=echo "$i" | sed -e 's/^./\U&/';
После того, как мы получили новое имя, пришло время переименовать файл с новым заглавным именем, следующая команда сделает это.
Он говорит: переместить (так же, как переименовать) старый файл foo.bar на новый Foo.bar.
mv "$i" "$new";
Итак, теперь у нас один файл переименован, и пришло время перейти к следующему. Следующее завершает функцию for, сообщая, что настало время перейти к следующему файлу и обработать его.
done;