Руководство по допиливанию для новичка- от новичка

Автор el guahiro, июля 26, 2015, 20:02:01

« предыдущая - следующая »

xub

января 09, 2022, 10:19:59 #1815 Последнее редактирование: января 09, 2022, 10:37:09 от xub Причина: дополнение
Приветствую!

Да я в общем-то сразу сказал:
Цитата: xub от января 07, 2022, 09:09:46Можно переименовать все файлы на месте, но не всегда получается, если особо издевательские имена.

find . -type f -exec bash -c 'mv "$0" "`echo \"$0\"|sed "s:[^A-Za-zа-яА-Я0-9_/.]:_:g;s:_\{1,\}:_:g"`"' {} \;

Это ,,композиция😇" рекурсию не тянет😕... Правильнее было бы не вводить в заблуждение и
написать сразу c -maxdepth 1:
find . -maxdepth 1 -type f -exec bash -c 'mv "$0" "`echo \"$0\"|sed "s:[^A-Za-zа-яА-Я0-9_/.]:_:g;s:_\{1,\}:_:g"`"' {} \;

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

Не достиг я успеха в тотальном рекурсивном переименовании больших «файлопомоек» особенно с арабскими и китайскими именами😞...

А поскольку я при переименованиях пытался изменить общую «архитектуру помойки», то какая разница, раз уже всё нарушено то можно или скопировать или переместить файлы в одну директорию.

Цитата: el guahiro от января 08, 2022, 13:55:534. У меня что-то не сработало с каталогами (может версия sed???)

Тут два момента может быть:
1.) Не было обращено внимание на -type d ┃ можно вообще -type f,d,l ┃ ...
2.) Директории при попытке рекурсии переименовываются с -depth (не путать с maxdepth), ну этот параметр предусматривает переименование с «хвоста», а не как попало. Причина понятна, если начать переименовывать с «головы» то до «хвоста» не дойти.
find . -depth -type d -exec rename 's|\n|_|g' '{}' \;
find . -depth -type f -exec rename 's|\n|_|g' '{}' \;

То что в предыдущем моём сообщении это как бы скрипт разобранный на команды,😇, работает только целиком.

Ну а с разделителями, да нужно было оговорить это дело. Кстати есть команды, где это не работает. Но можно, например вот так.
sed -i "/\//s@AA@BB@" Z.txt▐❚найти строки с ,,/" и заменить там ,,AA" на ,,BB" непосредственно в файле❚
В первой части команды возможно только ,,/" ...

По сокращению длины файлов у меня тоже есть решения, но они привязаны к Ranger'у моему файловому менеджеру.
Можно тоже представить, наверное, в варианте набора отдельных команд.

Режим у меня, спасть буду😇 , до встречи!

2022-01-08 23:37:03
При ответах прошу учитывать возможную существенную разницу во времени, мой часовой пояс (GMT-4) Eastern Daylight Time...

el guahiro

Цитата: xub от января 09, 2022, 10:19:59Не достиг я успеха в тотальном рекурсивном переименовании больших «файлопомоек»
Поможет 100% конструкция типа:
for i in {0..20} ; do find . -maxdepth $i -mindepth $i -name '*[<>\:\\|?*]*' -o -name '*[ \.]' | rename 's/[\\?*:><|"]*|[ \.?]*$//g' ; doneКоманда поочерёдно обходит уровни вложенности директорий.
Искренне ваш
См. скрипты для ПКМ Thunar здесь https://github.com/el-guahiro/thunar_custom_actions
Рекомендации для граждан у условиях гуманитарной катастрофы https://goo-gl.me/abV3X

xub

Я Вас приветствую, прямо категорически приветствую!😇

Команда как команда, но даже маленькую «помоечку» не берёт!😞
Про настоящую помойку из какого-то китайского или арабского архива даже нет смысла говорить, Вы такого точно не видели в связи с тем, что другими делами заняты! :wink:

Я продолжу через некоторое время, у Вас же как у людей неделя начинается с понедельника, а у нас у империалистов😇 с воскресенья! Буду занят слегка.

2022-01-09 08:22:21


При ответах прошу учитывать возможную существенную разницу во времени, мой часовой пояс (GMT-4) Eastern Daylight Time...

xub

2022 Jan 09; 01:57 PM Продолжаю...

Описываемая мною ситуация не стандартная, но и встречается не часто. Когда я впервые споткнулся о «двухэтажный файл, директорию» я вообще  не представлял, что такое может быть. В терминале это неочевидно😞. Как получается этот разрыв строки ,,\n" я не знаю. Как делать искусственно я теперь знаю, но как такие файлы у кого-то получаются сами собой я понятия не имею.

Предложенная Вами команда для более простых случаев. Посмотрите это (не хочется лишнего мусора на форуме): https://termbin.com/swn3

Кстати, частично облегчает системе работу с файлами их транслитерация. Да транслитерацию читать неудобно, выглядит похабно. Хотя имеются, например варианты латиницы для украинского языка. Мне не понравился ни один😞.

Для русского даже смотреть не стал. Хотя у сербскохорватского или хорватскосербского две письменности латиница и кириллица.

Ну мы продолжим вопрос то бесконечный😇, у нас тут семейное торжество, до встречи!

2022-01-09 14:17:19
При ответах прошу учитывать возможную существенную разницу во времени, мой часовой пояс (GMT-4) Eastern Daylight Time...

xub

Приветствую!

Всё что я по теме переименований до этого наплёл, представляет, конечно познавательный интерес😕, НО итогом пока можно считать:

find . -depth -exec rename 's|\n|_|g' '{}' \;Опционально в случае возможного наличия файлов и директорий с разрывом строки ❰\n❱.
Применять до того момента пока не прекратятся сообщения об ошибках.

find . -depth -exec rename -d 's/[^a-zA-Z0-9_.-]/_/g' '{}' \;Основная команда, требует доработки в части кириллицы😕, производит замену всего, кроме того, что в [^a-zA-Z0-9_.-], обходит директории ❰-d❱...

Продолжаю изыскания, всё равно опять ограничения, наша возрастная группа уже получила 4 прививки двумя вакцинами. 12% только не привитых в провинции, а в нашем городе на 200 тысяч всё равно 1500 заболевших😞. Правда привитые быстро выздоравливают и без госпитализации.

Из развлечений, короче, один каток на свежем воздухе😇.

2022-01-10 09:26:55
При ответах прошу учитывать возможную существенную разницу во времени, мой часовой пояс (GMT-4) Eastern Daylight Time...

el guahiro

января 11, 2022, 16:26:04 #1820 Последнее редактирование: января 11, 2022, 16:27:39 от el guahiro
Цитата: xub от января 10, 2022, 20:26:58требует доработки в части кириллицы
Метод исключения А-Я у меня всегда даёт файлы с неверной кодировкой, допускаю, что это от версии rename в ubuntu. Можно решить через mv, но это опять всё заново городить...
Что касаемо ограничений, у нас они официально декларируются, но строгость российских законов компенсируется необязательностью их выполнения :).
Вот, например, гуляния на Рождество:

или вот:


Искренне ваш
См. скрипты для ПКМ Thunar здесь https://github.com/el-guahiro/thunar_custom_actions
Рекомендации для граждан у условиях гуманитарной катастрофы https://goo-gl.me/abV3X

xub

Приветствую!
Цитата: el guahiro от января 11, 2022, 16:26:04Метод исключения А-Я у меня всегда даёт файлы с неверной кодировкой, допускаю, что это от версии rename в ubuntu. Можно решить через mv, но это опять всё заново городить...

Я так понял, что это не только проблема rename в ubuntu, а вообще с perl связано😞. Решения есть для конкретной строчки или конкретного файла. А для программы perl rename ничего я такого не нашёл.

Пробовал транслитерацию, уродливо очень и несовременно в эпоху UTF-8, всё бы ничего, но у меня не получилась корректно обратная транслитерация.

Относительно mv годится только для конкретной директории или ограниченном количестве вложенных директорий.

Ну, я тут ещё одну идею отрабатываю. Потом напишу о результатах.

А ничего плохого на ваших народных  гуляниях я не заметил, не армейскими же колоннами в плотном строю идут😇! Думаю это не сильно опасно. В помещении, думаю, вся опасность...

2022 Jan 11; 09:14 AM
При ответах прошу учитывать возможную существенную разницу во времени, мой часовой пояс (GMT-4) Eastern Daylight Time...

el guahiro

Продолжая тему "лечения" имён файлов в "неправильной" кодировке.
Иногда встречаются файлы с вопросительными знаками в ромбике в имени файла. На конце, после расширения, иногда написано:
(неправильная кодировка).Сначала получаем имена файлов с шифром неправильного символа:
ls -1RQ *[![:print:]]*Затем, когда увидели вывод типа \320 или \321, ..может быть другая цифра... лечим:
rename "s/[\320][.]/./g" *; rename "s/[\321][.]/./g" *Здесь [.] - потому что у меня неправильные символы стоят перед точкой. Нужно обязательно точно дать условие расположения неправильного символа.
Для рекурсивного просмотра "неправильных имён перед первой командой можно сделать:
shopt -s globstar
Думаю, кому-то очень поможет. Такой баг встречается, и "лечится" в муках.
Искренне ваш, el
Искренне ваш
См. скрипты для ПКМ Thunar здесь https://github.com/el-guahiro/thunar_custom_actions
Рекомендации для граждан у условиях гуманитарной катастрофы https://goo-gl.me/abV3X

xub

Приветствую!
Поздравляю с приближающимся окончанием праздников😇!

Последний промежуточный результат «дополненный и улучшенный😇»...
https://termbin.com/l3fxj

2022 Jan 13; 07:35 PM
При ответах прошу учитывать возможную существенную разницу во времени, мой часовой пояс (GMT-4) Eastern Daylight Time...

el guahiro

2 xub:
Мы помним, что ASCII расшифровывается как "American Standard Code for Information Interchange" (Американский стандартный код для обмена информацией), поэтому удаление всех не ascii символов приведёт к удалению и кириллических символов из имён файлов. Этого делать нельзя.
Поэтому, выдаётся, что решение xub по очистке имён файлов:
find . -depth -type d -exec bash -c 'mv "$0" "`echo \"$0\"|sed "s:[^A-Za-zа-яА-Я0-9_/.]:_:g;s:™::g;s:_\{1,\}:_:g"`"' {} \;
find . -depth -type f -exec bash -c 'mv "$0" "`echo \"$0\"|sed "s:[^A-Za-zа-яА-Я0-9_/.]:_:g;s:™::g;s:_\{1,\}:_:g"`"' {}
должно сработать.
Будем тестировать.

Искренне ваш, el
Искренне ваш
См. скрипты для ПКМ Thunar здесь https://github.com/el-guahiro/thunar_custom_actions
Рекомендации для граждан у условиях гуманитарной катастрофы https://goo-gl.me/abV3X

el guahiro

января 14, 2022, 22:25:26 #1825 Последнее редактирование: января 14, 2022, 22:31:11 от el guahiro
МойОфис - российская компания - разработчик безопасных офисных решений для общения и совместной работы с документами впервые выпустил версию редактора «МойОфис Стандартный. Домашняя версия» под Linux. Офимный пакет полностью совместим с операционными системами Astra Linux и «Альт», а также для xUbuntu, Debian, а также  rpm-based дистрами. Чтобы погонять его под Арч, можно разархивировать deb-пакет и запустить соответствующие скрипты.
Обзор возможностей программы можно посмотреть здесь
Скачать можно на этой странице
 или по этой ссылке.
Я установил его и хочу отметить, что как лайт версия Онлиофиса/Либреофиса вполне годится. Хотя... по регуляркам не ищет/не заменяет, Excel файл 53 mb открывал минуту (это долго), а потом на нём тормозил (как впрочем тормозит и Onlyoffice).
Зато простые docx файлы открывает мгновенно (это важно для быстрой работы юристов, строителей и прочих, кто имеет дело с массой офисных/нормативных документов). Интерфейс простой и приятный, хотя шрифт интерфейса не кастомизируется автоматом под систему (что огорчило). Некоторые приёмы при форматировании напоминают Google Docs, и это хорошо.
Системные шрифты подхватились мгновенно.
В приложении есть встроенный редактор формул. Он будет полезен тому, кто использует формулы в своих текстах. С помощью языка разметки LaTex можно вводить формулы любой степени сложности, используя при этом буквы греческого алфавита, знаки операций и многое другое. При этом формулы будут отображаться и распечатываться корректно: с сохранением структуры, особенностей и т. д.
Редактор написан на lua, что сулит ему светлое будущее! Справочник макрокоманд (под lua) для «МойОфис Стандартный» здесь
В полку офисных редакторов под Linux прибыло, и это хорошо!
Искренне ваш
См. скрипты для ПКМ Thunar здесь https://github.com/el-guahiro/thunar_custom_actions
Рекомендации для граждан у условиях гуманитарной катастрофы https://goo-gl.me/abV3X

xub

Приветствую!
Цитата: el guahiro от января 14, 2022, 11:39:44поэтому удаление всех не ascii символов приведёт к удалению и кириллических символов из имён файлов. Этого делать нельзя.
Ну да, для кириллицы как раз то, что у меня значится как ,,--▶ МЯГКИЙ ВАРИАНТ", при этом выполнять нужно все команды мягкого варианта, а также обязательна ,,--▶ ИНДЕКСАЦИЯ" всё в той последовательности как указано в моей записке.
Спойлер
ПРИВЕДЕНИЕ В ПОРЯДОК ДИРЕКТОРИИ С БОЛЬШИМ НАГРОМОЖДЕНИЕМ ДРУГИХ ДИРЕКТОРИЙ И ПОДДИРЕКТОРИЙ
       ВЫПОЛНЯТЬ КОМАНДЫ ПОСЛЕДОВАТЕЛЬНО, ПРИ НЕОБХОДИМОСТИ ПОВТОРЯТЬ

 --▶ МЯГКИЙ ВАРИАНТ. Удаление  разрыва строки ❰\n❱ из всех ,,d" и ,,f" , выполнять до прекращения соообщения об ошибках!
⮞⮞find . -depth -type d -exec rename 's|\n|_|g' '{}' \; && find . -depth -type f -exec rename 's|\n|_|g' '{}' \;⮜⮜

 --▶ ЖЁСТКИЙ ВАРИАНТ. Удаление  разрыва строки ❰\n❱ и ❰не ascii❱ из всех ,,d" и ,,f". Остаются только ❰ascii буквы❱ и цифры.
⮞⮞find . -depth -type d or f ❰or d,f❱ -name '*' -exec rename -d 's:\n:_:g;s/[^[:ascii:]]/_/g;s:_{1,}:_:g' '{}' \;⮜⮜
⮞⮞find . -depth -type d or f ❰or d,f❱ -name '*' -exec rename -d 's/[^a-zA-Z0-9._]/_/g;s:_{1,}:_:g' '{}' \;⮜⮜

 --▶ МЯГКИЙ ВАРИАНТ. Удаление всех небуквенных символов из всех ,,d" стандартной ❰en❱ раскладки кроме ,,_" и ,,."...
⮞⮞find . -depth -type d -name '*' -exec rename -d 's/['\''\ ;:\-^\"%&*\\(),=+~!#$|@<>\[\]\{\}`?]/_/g;s:_{1,}:_:g' '{}' \;⮜⮜


 --▶ ИНДЕКСАЦИЯ ,,d" и ,,f".❰Отрезок (хвост) времени Unix Epoch❱┃date +%s --▶ 1642116394 ‖ date +%s%8N --▶ 164211643514877874┃
⮞⮞find . -depth -type d  -iname "*" -exec bash -c 'mv "$0" "`echo $0 | \
sed -r "s:(.*)/:\1/$(date +%s%4N)_:;s:(.*)/.{8}:\1\/:"`"' {} \;⮜⮜
⮞⮞find . -depth -type f -iname "*" -exec bash -c 'mv "$0" "`echo $0 | \
sed -r "s:(.*)/:\1/$(date +%s%4N)_:;s:(.*)/.{8}:\1\/:"`"' {} \;⮜⮜
⮞⮞find . -depth -type d,f -iname "*" -exec bash -c 'mv "$0" "`echo $0 | \
sed -r "s:(.*)/:\1/$(date +%s%4N)_:;s:(.*)/.{8}:\1\/:"`"' {} \;⮜⮜

 --▶ МЯГКИЙ ВАРИАНТ. Удаление всех небуквенных символов из всех ,,f" стандартной ❰en❱ раскладки кроме ,,_" и ,,."...
⮞⮞find . -depth -type f -name '*' -exec rename -d 's/['\''\ ;:\-^\"%&*\\(),=+~!#$|@<>\[\]\{\}`?]/_/g;s:_{1,}:_:g' '{}' \;⮜⮜

 --▶ ЖЁСТКИЙ ВАРИАНТ. Остаются только ❰ascii буквы❱ и цифры.
⮞⮞find . -depth -type f -name '*' -exec rename -d 's/[^a-zA-Z0-9._]/_/g;s:_{1,}:_:g' '{}' \;⮜⮜

 --▶ МЯГКИЙ ВАРИАНТ. Окончательная оптимизация имён всех ,,d" и ,,f". Иногда выводит сообщения об ошибках, можно игнорировать.
⮞⮞find . -depth -type d -exec bash -c 'mv "$0" "`echo \"$0\"|sed "s:[^A-Za-zа-яА-Я0-9_/.]:_:g;s:™::g;s:_\{1,\}:_:g"`"' {} \;⮜⮜
⮞⮞find . -depth -type f -exec bash -c 'mv "$0" "`echo \"$0\"|sed "s:[^A-Za-zа-яА-Я0-9_/.]:_:g;s:™::g;s:_\{1,\}:_:g"`"' {} \;⮜⮜

Условные обозначения: ┃ --▶ ,,d" и ,,f" ⟶ директории и файлы ┃ --▶ ⮞⮞команда⮜⮜ ⟶ начало и конец команды ┃

2022 Jan 13; 07:22 PM; Oakville, ON, Canada.
[свернуть]
Из-за необходимости иногда повторять команды не получается сделать более менее приличный скрипт, можно, конечно повторять каждую команду раз по 10 для верности, но как-то это некрасиво😞...

Длинные выводы терминала можно размещать здесь:
cat XYZ.txt | nc termbin.com 9999Но хранятся не ,,вечно" а вроде один месяц.

2022 Jan 14; 12:51 PM
 
При ответах прошу учитывать возможную существенную разницу во времени, мой часовой пояс (GMT-4) Eastern Daylight Time...

RoDoN

Цитата: el guahiro от января 14, 2022, 22:25:26МойОфис
Уже больше двух лет, в связи с внедрением импортозамещения, время от времени тестирую МойОфис и что странно этот офисный пакет никак не научится работать с таблицами, в которых используется защита листа - он на нее плюет и напрочь сносит, т.е. делаешь таблицу в нормальном офисе, делаешь защиту листа, чтобы можно было заполнять только определенные ячейки и исполнители не могли накосячить, а после открытия файла в МойОфис защиты нет и пользователи лепят все что и куда хотят и при этом МойОфис позиционируется, как офисный пакет для гос. заказчиков
Lenovo B590 (i3-3110M, 8 Гб, GeForce 720M)

el guahiro

Цитата: RoDoN от января 15, 2022, 00:44:46МойОфис позиционируется, как офисный пакет для гос. заказчиков
Для госзаказов важны не потребительские свойства, а правильное лобби. Был как-то на конференции по внедрению систем документооборота. Представители предприятия, юзающего самую тухлую систему документооборота в России (ЕАСД, если кто в теме) сказали: "нам не надо, нас всё устраивает". Сказали потому, что никто из присутствующих не пользовался лично этой системой (за них туда ходят секретарши). А то, что каждый подчинённый этого начальника теряет час-полчаса в день на ожидание загрузки интерфейса программы, загрузки документов и заполнение каждый раз снова того, что уже должно быть заполнено, -- это их не волнует, т.к. госкомпания и рабочее время оплачивают не они.
Вангую тернистый путь внедрения отечественного ПО. В итоге всё провалится и перейдём на аналогичное китайское.
Искренне ваш
См. скрипты для ПКМ Thunar здесь https://github.com/el-guahiro/thunar_custom_actions
Рекомендации для граждан у условиях гуманитарной катастрофы https://goo-gl.me/abV3X

RoDoN

Цитата: el guahiro от января 15, 2022, 13:59:12Вангую тернистый путь внедрения отечественного ПО. В итоге всё провалится
Ну, опыт уже был)))
В 2007-2010 пытались перевести образование на альтлинукс и в итоге все слили (((
Lenovo B590 (i3-3110M, 8 Гб, GeForce 720M)