Избегайте нестандартных символов ASCII в команде переименования - PullRequest
0 голосов
/ 29 июня 2018

Я использую эту команду, чтобы находить и переименовывать в каталоге файлы с не прописными именами файлов (для безопасности я оставил флаг -n на случай, если кто-нибудь скопирует и вставит отсюда):

rename -n 's/(?<![.'\''])\b\w*/\u$&/g' *

Проблема в том, что он находит файлы, которые имеют нестандартные символы ASCII, такие как Noël, и рассматривает их как проблему, которую необходимо исправить.

Есть ли способ избежать этого?


Редактировать (20180701-1635):

Я только что понял, что команда также «терпит неудачу» (пытается переименовать), если имя файла тоже содержит тире или апостроф (оно меняет символ, следующий за прописными буквами). Примеры неправильных переименований в данный момент:

Имя файла Алана.txt> Имя файла Алана.txt

File-name.txt> File-Name.txt


1 Ответ

0 голосов
/ 29 июня 2018

Ваш вопрос немного размыт, но я думаю, что вы имеете в виду что-то вроде:

for i in $(echo * | sed 's, YOUR_REG_EGP ,,g'); do
  # your rename commmands on $i
done
...