Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: как в тексте изменить имена файлов в нижний регистр?  (Прочитано 1363 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн znavko

  • Автор темы
  • Участник
  • *
  • Сообщений: 158
    • Просмотр профиля
при закачке файлов на мой сайт все имена переводятся в нижний регистр.
а копируемые хтмл содержат имена файлов в тегах img с большими буквами.
подскажите как в sed или geany редактировать текст регулярными выражениями, чтобы в тексте все имена файлов тоже были в нижнем регистре?

то есть имена png, jpg, gif

FDD.jpg
ERwe4.png

заменить на
fdd.jpg
erwe4.png
« Последнее редактирование: 22 Сентябрь 2015, 20:53:36 от znavko »

Оффлайн Azure

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6016
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Код: Bash
  1. sed 's/\S*\.\(jpg\|png\)/\L&/g'
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

adawdp

  • Гость
— Ну если касательно команд, то это всё в нижний регистр…
Код: Bash
  1. sed 's/.*/\L&/'

— Это как бы инверсия, т.е. что было в верхнем регистре станет в нижнем и наоборот…

Код: Bash
  1. sed 's/\w/&`/g;s/\([[:upper:]]\)`/\l\1/g;s/\([[:lower:]]\)`/\u\1/g'

— А это в верхний регистр
Код: Bash
  1. sed 's/.*/\U&/'

— Это просто команды, которые Вы сможете проверить там положим:

Код: Bash
  1. echo How to find work you love | sed 's/.*/\U&/'


Оффлайн znavko

  • Автор темы
  • Участник
  • *
  • Сообщений: 158
    • Просмотр профиля
у меня текст немного посложнее. в нем надо не только смнеить регистр но и найти
имена файлов .png .jpg

(Нажмите, чтобы показать/скрыть)

adawdp

  • Гость
2015 Sep 22; 09:16 PM; Oakville, ON, Canada.

— Честно сказать я слабо представляю вашу задачу, но если нужно всё (весь файл или всё что там Вы куда-то загружаете) в нижнем регистре то вот так:

Код: Bash
  1. sed -i 's/.*/\L&/' 2015Sep22210712.txt

— Это я ваши данные скопировал в файл и применил к нему указанную команду, терминал запускается из директории, где находится нужный файл, в котором требуется выполнить преобразования.

— Если же речь идёт только об именах конкретных файлов, и только о них, то потребуется сочинять представляющий определённую сложность „фильтр“, что профессионально может сделать Azure , я наверное тоже сделал бы, но не быстро и не профессионально  ;D

Пользователь решил продолжить мысль 23 Сентябрь 2015, 14:04:34:
2015 Sep 23; 07:04 AM

— Так работает же всё, Azure привёл готовую команду, если для файла, с запуском терминала из директории где находится файл,  то:
Код: Bash
  1. sed -i 's/\S*\.\(jpg\|png\)/\L&/g' AnyFile.txt
« Последнее редактирование: 23 Сентябрь 2015, 14:04:34 от adawdp »

 

Страница сгенерирована за 0.157 секунд. Запросов: 24.