|
178 / 161 / 38
Регистрация: 08.10.2012
Сообщений: 423
|
|||||||||||
Перебор файлов в папке13.10.2016, 07:43. Показов 16292. Ответов 13
Метки нет (Все метки)
Смысл скрипта это взять все .png файлы и зделать из них .icns файлы.
во первых мне не нравится это преобразование
далее если в файле картинки будут присутствовать пробелы то mkdir $IconSetName создаст кучу папок соответствующую количеству пробелов в имени а "$IconSetName" заменить пробелы на "?" с путем до картинки тоже беда В общем прошу помощи вот в чем:
0
|
|||||||||||
| 13.10.2016, 07:43 | |
|
Ответы с готовыми решениями:
13
Реализовать перебор файлов в папке с поиском пустых файлов
Некорректный перебор файлов в папке |
|
178 / 161 / 38
Регистрация: 08.10.2012
Сообщений: 423
|
|||||||||||||||||
| 13.10.2016, 13:40 [ТС] | |||||||||||||||||
|
сделал вот так
но остается проблема еще важная Если в имени есть пробелы и создавать папку вот так
а если так
И кстати такаже байда с ресайзом картинки sips -z 16 16 "$IconName" --out "$IconSetName"/icon_16x16.png sips не понимает что "$IconName" это название картинки а не куча картинок этого как нибудь можно избежать?
0
|
|||||||||||||||||
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
||||||||
| 13.10.2016, 14:41 | ||||||||
1
|
||||||||
|
178 / 161 / 38
Регистрация: 08.10.2012
Сообщений: 423
|
|||
| 13.10.2016, 14:52 [ТС] | |||
|
Copyright (C) 2007 Free Software Foundation, Inc. Маковский В принципе у меня есть идея скопировать файл иконки во временную папку и там его уже назвать латинскими буквами (Если файл называется что-то типа icon.png то все хорошо отрабатывается) Вопрос опять же из первого списка как создать скрытую папку?
0
|
|||
|
|
||||||
| 13.10.2016, 15:54 | ||||||
|
MrGrig, Я просто подсказку привела что бы первые 8 строчек уместилось в двух
0
|
||||||
|
178 / 161 / 38
Регистрация: 08.10.2012
Сообщений: 423
|
||||||||||||
| 14.10.2016, 11:19 [ТС] | ||||||||||||
|
Все также остается вопрос в создании скрытой папки Добавлено через 8 минут И вопрос внезапно такой как ограничить find только текущим каталогом? Добавлено через 45 минут В общем получился такой вот код
У меня осталось 2 вопроса
Добавлено через 2 часа 14 минут Во просто сделал подобное этому
по идеи . и PWD возвращают путь до текущей директории, но если скрипт запустить не через терминал а дабл кликом . будет точкой а pwd вернет /Users/<username>/ можно какнибудь решить эту проблему?
0
|
||||||||||||
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|||||||||||||||||||
| 14.10.2016, 12:58 | |||||||||||||||||||
0
|
|||||||||||||||||||
|
178 / 161 / 38
Регистрация: 08.10.2012
Сообщений: 423
|
|||||||||
| 14.10.2016, 13:31 [ТС] | |||||||||
|
Ваш код еще не проверял но проверю обязательно. Просто хочется всделать все в стилеэпл чтобы не нужно было открывать терминал драгдропать туда этот файлик и запускать. Хочеться просто кликнуть по файлу пару раз и чтобы работало... Добавлено через 6 минут Добавлено через 9 минут Протестировал я ваш код, за циклическое создание картинок спасибо строчка с отключением логов тоже помогла, но с ней не выводится также и echo в принципе не критично а вот с внешним циктом не все так хорошо. *.[Pp][Nn][Gg] это будет воспрянято как просто строка Добавлено через 12 минут В общем спасибо всем кто отвечал вот такой вот код получился который исполняется по открытию файлика
0
|
|||||||||
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|||||||||||||||||||||||||||
| 14.10.2016, 14:03 | |||||||||||||||||||||||||||
Добавлено через 14 минут
1
|
|||||||||||||||||||||||||||
|
178 / 161 / 38
Регистрация: 08.10.2012
Сообщений: 423
|
||||||
| 14.10.2016, 14:04 [ТС] | ||||||
|
tmpPath=${MAINDIR}"/.tmpPath.iconset" вот здесь вот если честно не углядел, это эксперементировал можно ли сразу временную папку в icns сконвертнуть, оказалось нельзя, ниже объясню. Должно быть вот так tmpPath=${MAINDIR}"/.tmpPath" MAINDIR переменная чтобы использовать ее для поиска в ней и чтобы создать внутри нее временную папку tmpPath=${MAINDIR}"/.tmpPath временная папка tmpSubPath=${tmpPath}"/tmp.iconset" папка куда будут скидываться картинки в нужном разрешении ибо только такую папку может скушать iconutil! Я пытался раньше, как видно из кода, сразу кидать картинки во временную папку скрытую и ее конвертировать в icns не жрет ее утилита, поэтому оставил ее IconName=${FILENAME%.*} Здесь убираем расширение у файла IconSetName=${IconName}".icns" Здесь получаем путь к конечному файлу IconName=${IconName}".png" вот это согласен было не обязательно можно было и FILENAME использовать утилита iconutil берет папку name.iconset и конвертирует ее в файл icns и я его перемещаю по пути IconSetName С именами файлов были проблемы пробелы на вопросы заменялись. Сами же удивлялись
0
|
||||||
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|
| 14.10.2016, 14:17 | |
|
Полные/относительные пути к поведению шелла никакого отношения не имеют. Используйте кавычки и все будет работать как надо.
По поводу вложенных папок — нет проблем, код, что я привел так и работает (если уж используете опцию -p (--parents) хоть прочитайте зачем она).
0
|
|
|
178 / 161 / 38
Регистрация: 08.10.2012
Сообщений: 423
|
|||||||
| 14.10.2016, 14:46 [ТС] | |||||||
|
сегодня 3й день все это время я использую метод проб, ошибок и говнокода. Я не изучал баш раньше никоем образом и для написания данного кода было 2 мотивации, была проблема и нужно было найти ее решение с помощью гугла. Строчку написал запустил и так далее. На счет -p я прочитал что это не дает выскакивать предупреждениям и создает подпапки если нужно. Как то так там было написано. На счет кавычек не знаю я все перепробывал после того как получал имя файла tmpFileName=`basename $FILENAME` mkdir "$tmpFileName" вот эта строчка уже была с ошибкой чтото типо не найдена директория и все скрипт дальше ничего не делал. На вопрос почему так происходит так ответа и не услышал, попробовал не использовать basename и все заработало. отталкиваясь от этого уже писал остальной код. после всех ваших исправлений получился такой код
0
|
|||||||
|
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
|
|||
| 14.10.2016, 15:08 | |||
|
3-7 для меня дикость:
1. Если хотите полные пути используйте PWD (хотя это и не имеет смысла). 2. -p создает весь путь, если его нет.
0
|
|||
| 14.10.2016, 15:08 | |
|
Помогаю со студенческими работами здесь
14
Перебор .txt фаликов в папке Вывод списка .txt файлов в папке и последующее открытие файлов
Копирование файлов с переименованием в случае совпадения имён копируемых и имеющихся в папке назначения файлов
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|