serii81
@serii81
Я люблю phр...

Как переименовать файлы в линукс использую rename и regexp?

Есть такие файлы
Графический редактор Gimp. Урок 1. Установка в Ubuntu-zsWQolJqsuo.mkv
Графический редактор Gimp. Урок 2. Обзор программы-jPSuoLjVc10.mkv
Графический редактор Gimp. Урок 3. Создание нового проекта-_fNGyQglph4.mkv
Графический редактор Gimp. Урок 4. Выделение и заливка-j-am01TERzA.mkv
Графический редактор Gimp. Урок 5. Слои-lTCLu0rnEKE.mkv
Графический редактор Gimp. Урок 6. Наложение слоев.-QjSm4eGLh40.mkv
Графический редактор Gimp. Урок 7. Кисть, карандаш и ластик-dXRbOIReiCk.mkv
Графический редактор Gimp. Урок 9. Градиент-GQi4DI8F47M.mkv


Я хочу удалить все символы до первой точки и использую следующий код
rename -n s/^{1,}*.// *.mkv
Но у меня ничего не выходит, кто поможет решить эту задачу?
Заранее благодарен.
  • Вопрос задан
  • 128 просмотров
Решения вопроса 2
morihaos
@morihaos
На 99% вопросов уже есть ответы в инетке...
Привет,
Это чтобы вот так получилось:
. Урок 1. Установка в Ubuntu-zsWQolJqsuo.mkv
. Урок 2. Обзор программы-jPSuoLjVc10.mkv
. Урок 3. Создание нового проекта-_fNGyQglph4.mkv
. Урок 4. Выделение и заливка-j-am01TERzA.mkv
. Урок 5. Слои-lTCLu0rnEKE.mkv
. Урок 6. Наложение слоев.-QjSm4eGLh40.mkv
. Урок 7. Кисть, карандаш и ластик-dXRbOIReiCk.mkv
. Урок 9. Градиент-GQi4DI8F47M.mkv


Вот так можно:
rename 's/Графический редактор Gimp//' *.mkv
Ответ написан
Комментировать
@pfg21
ex-турист
дополню разбором регекспа s/^{1,}*.//
^ - отметка начала строки (не символ !!)
^{1,} - множество отметок начала строки ( шо такое ??)
после идет * отмечающая множество символов, но перед ней ни прописано одного символа, т.е. множество ничего :) (шо такое ??).
"." - показывает что там стоит один произвольный символ. единственный грамматически правильный объект в строке.
вся строка с т.з. синтаксиса полная бессмыслица

мой алгоритм постройки регекспа.
^ - начало строки
[^.] - любой символ кроме точки
[^.]+ - множество любых символ, кроме точки.
\. - символ точки "." с экранированием "\", показывающий что это не подстановка, а просто символ "."
\s - символ пробела
^[^.]+\.\s - выделить с начало строки множество любых символов кроме точки, а также точку и пробел после
s/^[^.]+\.// - заменить вышеуказанное выражение пустотой, т.е. удалить.
как-то так :)

можно таким же образом вырезать хеш в конце.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы