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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Как в Geany с помощью регулярки заменить большие символы на мелкие?  (Прочитано 1480 раз)

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

Оффлайн znavko

  • Автор темы
  • Участник
  • *
  • Сообщений: 158
    • Просмотр профиля
когда я копирую статьи и имена файлов у меня на сайте при загрузке сразу становятся в нижнем регистре (так при загрузке на сайт он их преобразует имена).
как мне в Geany с помощью регулярных выражений перевести фалйлы типа
FFu-56.jp
DD93F-dre.jpg
в нижний регистр:
ffu-56.jpg
dd93f-dre.jpg ?

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
znavko, только не с помощью geany а с помощью перла, седа...(регулярок)
Код: (bash) [Выделить]
#!/bin/bash
mv "$1" `echo $1 | sed 's@[^ ]*@\L&@g'`
Сохраняешь, потом запускаешь, аргументом пишешь имя файла. Если файлов много
Код: (bash) [Выделить]
#!/bin/bash
f=`ls /path/to\ files/` #измени путь на свой
for file in $f
do
  mv "$file" `echo $file | sed 's@[^ ]*@\L&@g'`
done
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
alsoijw, А-я-я-яй!
Код: (bash) [Выделить]
#!/bin/bash
#USAGE: ./script.name *.jpg

while [ "$1" ]
do
    mv "$1" "${1,,}"
    shift
done
Код: (bash) [Выделить]
rename -v 'y/A-Z/a-z/' *.jpg
« Последнее редактирование: 05 Сентября 2015, 20:15:08 от Azure »
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Azure, что ай? Я не понял в чём проблема. Что делает shift?
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
alsoijw, sed, awk и иже с ними используют для работы с файлами (много строк), а для переменных достаточно использовать внутренние обработчики bash
shift — "сдвигает" строку аргументов, по умолчанию на 1 элемент 2-й становится 1-м, 3-й — 2-м, 4-й — 3-м и т.д.
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
Azure,
Код: (bash) [Выделить]
alsoijw@debian:~/SedChess$  echo CASP ЗАГЛЮЧИЛ | sed 's@[^ ]*@\L&@g'
casp заглючил
alsoijw@debian:~/SedChess$  echo CASP ЗАГЛЮЧИЛ | sed 'y/A-Z/a-z/' #В чём проблема здесь(латиница)
CaSP ЗАГЛЮЧИЛ
alsoijw@debian:~/SedChess$  echo TEST | sed 'y/A-Z/a-z/' #И здесь
TEST
А shift это по вкусу или как? Или есть преимущества перед for?
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Конечно по вкусу. Просто for с пробелами в именах работать не будет.
Что касается sed то y требует указания конкретного списка символов(интервалы не  работают).
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн znavko

  • Автор темы
  • Участник
  • *
  • Сообщений: 158
    • Просмотр профиля
спасибо, только долго учить чтобы начать использовать. а как тогда убрать лишние <br />:

при копировании текста из pdf у меня все строки обрезаются по ширине этого  pdf абзаца.
мне надо вытянуть обратно абзацы.
конкретно задача: заменить <br /> и перенос строки, если первый символ новой строки - русская буква в нижнем регистре.
на: пробел

я уже смог с помощью Гиани заменить <br /> после точки на абзацы так что теперь у меня теги <p>
помогите удалить лишние отступы строк, пожалуйста

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

Оффлайн alsoijw

  • Старожил
  • *
  • Сообщений: 4062
  • Fedora 25 GNOME 3 amd64
    • Просмотр профиля
znavko, если это табы то так.
sed "s/\t//g" filename
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

Оффлайн Azure

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 6017
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
конкретно задача: заменить <br /> и перенос строки, если первый символ новой строки - русская буква в нижнем регистре.
на: пробел
Код: (bash) [Выделить]
sed -zr 's|<br />\n([а-я])| \1|g' fileХотя с html и xml разметками лучше использовать специализированные инструменты.
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

 

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