В данном случае нужно сначала проверить, является ли $i числом, например подходит ли оно под шаблон /[[:digit:]]+/, и если подходит - то можно выполнять.
», но решил не
занудствовать. Замечу только, что если писать на bash’е (вообще-то, этот код для
zsh. На bash по непонятным причинам он будет работать только если окружить
шаблон одинарными штрихами, а перед «$» поставить обратную косую черту.) и не
указать в шаблоне якоря начала и конца строки, то под шаблон попадёт любое
выражение, содержащее хоть одну цифру. На sh аналогичный код выглядит так:
Strange_V
Воспользуйтесь чем нибудь более гибким чем zenity.
Такое можно достаточно легко реализовать на скриптовом языке (Perl, PHP, Python, Ruby, ... ) и библиотеке GTK2 к нему.
Вот я набросал на perl примерно то, что вам нужно:
А что-то printf больше С напоминает - это точно bash-оператор?
Встроенная команда BASH:
(help bash) писал(а):printf: printf [-v var] format [arguments]
printf formats and prints ARGUMENTS under control of the FORMAT. FORMAT
is a character string which contains three types of objects: plain
characters, which are simply copied to standard output, character escape
sequences which are converted and copied to the standard output, and
format specifications, each of which causes printing of the next successive
argument. In addition to the standard printf(1) formats, %b means to
expand backslash escape sequences in the corresponding argument, and %q
means to quote the argument in a way that can be reused as shell input.
If the -v option is supplied, the output is placed into the value of the
shell variable VAR rather than being sent to the standard output.
Посдкажите - как отобразить все папки, в которых лежит 2 или больше jpg-файла?
Или хотя бы просто название каждой папки, в которой лежит каждый jpg - тогда там легко можно на глаз определить где их 2 или больше.
Посдкажите - как отобразить все папки, в которых лежит 2 или больше jpg-файла?
Или хотя бы просто название каждой папки, в которой лежит каждый jpg - тогда там легко можно на глаз определить где их 2 или больше.
Посдкажите - как отобразить все папки, в которых лежит 2 или больше jpg-файла?
Или хотя бы просто название каждой папки, в которой лежит каждый jpg - тогда там легко можно на глаз определить где их 2 или больше.
Да, и как их все дружно переименовать в "cover.jpg"? Так?
переименовать что?
Спасибо.
Вот первый скрипт хорошо работает - показывает полные пути вплоть до последнего каталога.
А второй только глубину в 2 каталога почему-то выводит - т.е. понять где атм дальше лежат файлы не очень возможно.
Ну да ладно. Это я разберу с помощью первого скрипта. Вот переименование теперь важно. Потому что я тут решил через GUI попробовать - там и не понял как заставить GnomeCommander или Nautilus массово переименовать - придётся через bash.
А переименовать надо так, чтобы ВСЕ jpg-картинки в каталоге ~/music и его подкаталогах стали с именем "cover.jpg".
Ну я свою музыку разбираю - хочу чтобы в каждой папке осталось по одному jpg файлу и он назывался "cover.jpg"
Спасибо.
Вот первый скрипт хорошо работает - показывает полные пути вплоть до последнего каталога.
А второй только глубину в 2 каталога почему-то выводит - т.е. понять где атм дальше лежат файлы не очень возможно.
просто надо задать путь поиска. Поскольку тестировал у себя - то убрал / - больно много найдет. Следует учесть что оно ищет по всей файловой системе - врядли это то что вам надо.
А переименовать надо так, чтобы ВСЕ jpg-картинки в каталоге ~/music и его подкаталогах стали с именем "cover.jpg".
Ну я свою музыку разбираю - хочу чтобы в каждой папке осталось по одному jpg файлу и он назывался "cover.jpg"
то есть вы осознаете что если делать mv для нескольких картинок в подпапке на одно и тоже имя, то останется только одна? Причем достаточно рэндомно...
просто надо задать путь поиска. Поскольку тестировал у себя - то убрал / - больно много найдет. Следует учесть что оно ищет по всей файловой системе - врядли это то что вам надо.
то есть вы осознаете что если делать mv для нескольких картинок в подпапке на одно и тоже имя, то останется только одна? Причем достаточно рэндомно...
Ну я догадался, что путь поиска надо задать
С ним и не работает.
Да, я осознаю, что он либо убьёт пару картинок, либо напишет ошибки (что прекрасно - я найду и руками поправлю).
Но по моим подсчётам таких папок штуки 3-4 осталось. И хрен бы с ними - найти бы способ переименовать теперь всю кучу jpg-файлов
Осваиваю bash и застрял на простой, в общем-то, задаче. Необходимо от лога в кодировке, отличной от системной, отрезать данные за текущий и предыдущий час текущих суток (т.е. в 00:15 надо будет получить данные всего за 15 минут, в 01:15 - за час 15 и т.д.), причем не все подряд, а содержащие определенную подстроку. Наваял скриптик, но он не работает...
Время в логе имеет следующий формат: ГГГГММДД;ЧЧ (20090903;15 20090903;05)