Как изменить имена файлов с таких обозначений: SomeCodeFile.extension
на C/C++ обозначение: some_code_file.extension
. Я бы хотел использовать Perl + Find + Regex для печати этих имен.Изменение имен файлов Perl
ответ
Вы можете использовать регулярное выражение:
perl -e 'for $f (@ARGV) {
($n = $f) =~ s/(?<=.)([[:upper:]])/_\l$1/g;
rename $f, lcfirst $n;
}' SomeCodeFiles*
[[:upper:]]
матчи прописными буквами.(?<=.)
это вид сзади утверждение, то есть буква предшествует что-то (мы не хотим_some_code_file.ext
)\l
изменяет следующую букву в нижнем регистре (аналогичноlcfirst
)
Обратите внимание, что в результате может быть неприятным в некоторых ситуациях (x_m_l2_j_s_o_n.c
, u_r_l__validator.cpp
).
Не могли бы вы сопоставить верхний регистр с нижним регистром, чтобы избежать проблем, например. XML. Я думаю, что изменение «взгляда» на «нижний регистр» будет иметь дело с этим? – Sobrique
@Sobrique: Это зависит от того, что вы ожидаете. Однако просто изменить '.' на' [[: lower:]] ', похоже, не так. Может быть, меняет 'lcfirst' на' lc' в то же время ... – choroba
Ну, это делает: 'camelCaseFile -> camel_case_file и XML2JSON_parser -> XML2JSON_parser' - но вам все равно придется беспокоиться о' lcfirst'ing, что второй дело. – Sobrique
- 1. Изменение имен файлов первая буква
- 2. Изменение имен файлов
- 3. Изменение имен файлов, как?
- 4. Сортировка имен файлов в Perl?
- 5. Изменение сохраненных имен файлов R
- 6. Изменение имен файлов при загрузке
- 7. Сопоставление имен файлов в случае условия perl
- 8. Изменение имен для всех файлов в поддиалонах
- 9. Случайное изменение имен файлов в Python
- 10. DSpace 5.4 XMLUI - изменение имен файлов
- 11. Изменение имен файлов сеанса в Laravel 5.1
- 12. Изменение имен файлов (строк) через циклы - Java
- 13. NSSavePanel Изменение расширения имен файлов с AccessoryView
- 14. Изменение нескольких имен файлов в шаблоне
- 15. C# чтение и изменение имен файлов Excel
- 16. Изменение имен файлов в папках Windows
- 17. Изменение имен файлов для большой группы файлов Excel в папке
- 18. Пользовательские сортировки имен файлов
- 19. Извлечение имен файлов
- 20. Автоматическое изменение имен имен C++
- 21. удаление файлов с perl
- 22. Как я могу изменить регистр имен файлов в Perl?
- 23. Как проверить наличие имен файлов с определенной строкой в Perl
- 24. Эффективное соответствие набора имен файлов с регулярным выражением в Perl
- 25. Функция glob() в Perl для получения имен файлов
- 26. Perl подстановочного матча имен файлов из «LS» выхода
- 27. Как проверить наличие имен файлов UTF-16 в Perl?
- 28. Изменение переменных имен в Vim
- 29. Изменение значений в пространстве имен
- 30. Запись GraphML файлов - изменение имен узлов к атрибуту
Вы пробовали что-нибудь от себя? – serenesat