Сайт | Скачать | Видео | Wiki

Автор Тема: yad - построитель GUI для шелл-скриптов  (Прочитано 21610 раз)

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

Оффлайн drill

  • Новичок
  • *
  • Сообщений: 22
  • Репутация: +4/-0
Re: yad - построитель GUI для шелл-скриптов
« Ответ #75 : 15 Сентябрь 2017, 07:52:01 »
Может быть, выдача едет не в stdout, а в stderr. Попробуй там, где заканчивается команда (где первое троеточие) добавить

2>&1

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 9230
  • Репутация: +93/-0
Re: yad - построитель GUI для шелл-скриптов
« Ответ #76 : 15 Сентябрь 2017, 09:23:02 »
Может быть, выдача едет не в stdout, а в stderr. Попробуй там, где заканчивается команда (где первое троеточие) добавить

2>&1
пробовал. не то.
Я подозреваю что tr не отдает данные в пайп пока не будет получен конец строки из предыдущего пайпа. Но на экран то он строки выводит, хотя если делаю перенаправление, то строк не видно на экране и в файл они тоже не летят. Мистика.
Я загружаю новые пакеты сюда: http://file.puppyrus.ml/users/ а дальше можно найти самостоятельно.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 9230
  • Репутация: +93/-0
Re: yad - построитель GUI для шелл-скриптов
« Ответ #77 : 15 Сентябрь 2017, 10:27:41 »
ПОБЕДИЛ!
... | stdbuf -o0 tr -s '\b' '\n' | stdbuf -o0 tr -d [:blank:] | yad --progress
Я загружаю новые пакеты сюда: http://file.puppyrus.ml/users/ а дальше можно найти самостоятельно.

Оффлайн drill

  • Новичок
  • *
  • Сообщений: 22
  • Репутация: +4/-0
Re: yad - построитель GUI для шелл-скриптов
« Ответ #78 : 15 Сентябрь 2017, 10:42:10 »
Про stdbuf я что-то не слышал :) Но вообще поздравляю.

Пока в голову пришёл такой вариант. Предварительно задать

IFS=$'\b'

Весь фильтр заменить одной командой

grep '%'

По окончании сбросить IFS

unset IFS

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 9230
  • Репутация: +93/-0
Re: yad - построитель GUI для шелл-скриптов
« Ответ #79 : 15 Сентябрь 2017, 12:24:51 »
Grep не срабатывает, он со строками же работает.
Меня больше волнует не просочатся ли цифры из названия файла, не успел проверить, в понедельник только.

tr -d бы такой чтобы только проценты пропускал  или может что-то типа "обрезать все от начала строки до знака %"
« Последнее редактирование: 15 Сентябрь 2017, 12:54:47 от Pro »
Я загружаю новые пакеты сюда: http://file.puppyrus.ml/users/ а дальше можно найти самостоятельно.

Оффлайн drill

  • Новичок
  • *
  • Сообщений: 22
  • Репутация: +4/-0
Re: yad - построитель GUI для шелл-скриптов
« Ответ #80 : 15 Сентябрь 2017, 14:03:02 »
С процентами проблем быть не должно. Если мне не изменяет память (а писал я такой прогресс бар давно, года 3-4 назад), то Yad сам игнорирует всё лишнее.

Ага, вот из мана: https://www.freebsd.org/cgi/man.cgi?query=yad&sektion=1&manpath=freebsd-release-ports

When  the  --progress  option is   used, yad reads   lines of progress data from stdin.  When the lines begin with #   the text after # is  displayed    in  the   progress  bar label. Numeric values treats like   a persents for
       progress   bar.

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 9230
  • Репутация: +93/-0
Re: yad - построитель GUI для шелл-скриптов
« Ответ #81 : 15 Сентябрь 2017, 14:21:27 »
Вот именно что цифры он и отлавливает и будет ситуация когда в названии песни или каталога цифры 4, 7 и т.п. То шкала прогресса у yad станет сначала на эти 4, потом вернётся обратно на 1 процент.

 Я типа того попробовал задав цикл for со счетчиком и подав цифры на yad.
Я загружаю новые пакеты сюда: http://file.puppyrus.ml/users/ а дальше можно найти самостоятельно.