LINUX.ORG.RU
ФорумTalks

Вывести случайную картинку из галереи

 , ,


2

1

Магический однострочник для вывода рандомной картинки из галереи (не знаю, может кому-нибудь пригодится):

feh -. -z `curl -sL $(shuf -en1 linux.org.ru/gallery/archive/20{00..18}/{1..12})|grep -o 'ht.*/ori.*\.[a-z]*'`


Последнее исправление: egorcod (всего исправлений: 5)
Ответ на: комментарий от Yorween

А этот ключ умеет выбирать из списка рандомную ссылку и скачивать оттуда картинку?

egorcod
() автор топика
Ответ на: комментарий от Yorween

Всё, отредактировал, спасибо за информацию :D

egorcod
() автор топика
Ответ на: комментарий от Jetty

Та нет. Можете проверить, если хотите :D

egorcod
() автор топика
Ответ на: комментарий от Jetty

Или вы любой однострочник на баше патчем считаете? :D

egorcod
() автор топика

Не работает

rez_serv:~ #  feh -z `echo -n linux.org.ru/gallery/archive/20{00..18}/{1..12}'\n'|shuf -n1|wget -i- -O-|grep -o 'ht.*/or.*\.[a-z]*'|paste -sd' '`
   Заменить 'feh' на '_feh'? (Yes, No, Abort, Edit) n

--2019-08-19 19:34:36--  http://linux.org.ru/gallery/archive/2016/4
Распознаётся linux.org.ru (linux.org.ru)… 178.248.233.6
Подключение к linux.org.ru (linux.org.ru)|178.248.233.6|:80... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 302 Found
Адрес: https://www.linux.org.ru/gallery/archive/2016/4 [переход]
--2019-08-19 19:34:36--  https://www.linux.org.ru/gallery/archive/2016/4
Распознаётся www.linux.org.ru (www.linux.org.ru)… 178.248.233.6
Подключение к www.linux.org.ru (www.linux.org.ru)|178.248.233.6|:443... соединение установлено.
HTTP-запрос отправлен. Ожидание ответа… 200 OK
Длина: нет данных [text/html]
Сохранение в: «STDOUT»

-                                                                   [ <=>                                                                                                                                                   ]  86,63K  --.-KB/s    за 0,07s   

2019-08-19 19:34:37 (1,24 MB/s) - записан в stdout [88707]

ЗАВЕРШЕНО --2019-08-19 19:34:37--
Общее время: 0,9s
Загружено: 1 файлов, 87K за 0,07s (1,24 MB/s)
                     
The program 'feh' can be found in the following package:
  * feh [ path: /usr/bin/feh, repository: zypp (repo-oss) ]

Try installing with:
    sudo zypper install feh

rez_serv:~ #  

Allakka ★★★★
()
Ответ на: комментарий от Allakka

Это выступление грустного клоуна или трехзвездочный неспособен увидеть первые три буквы в приведенной команде?

leave ★★★★★
()
Ответ на: комментарий от leave

Магический однострочник

Ожидал увидеть магию.

Allakka ★★★★
()

Не понимаю, как это должно работать:

echo -n linux.org.ru/gallery/archive/20{00..18}/{1..12}'\n'|shuf -n1

Ни баш ни эхо не раскроют ‘\n’ в перевод строки.

legolegs ★★★★★
()
Ответ на: комментарий от egorcod

У меня, кстати, тоже \n остается просто строкой. А вот так:

echo -n linux.org.ru/gallery/archive/20{00..18}/{1..12} | xargs -n1 | shuf -n1

вполне себе работает

linux.org.ru/gallery/archive/2009/1
Yorween
()
Ответ на: комментарий от egorcod

Кстати, shuf может взять строку из аргументов. Обновил скрипт.

bash (да и dash) умеет генерировать RANDOM и без вызова внешней команды:

linux.org.ru/gallery/archive/$((RANDOM%20+2000))/$((RANDOM%12+1))

vodz ★★★★★
()
Ответ на: комментарий от egorcod

С shuf короче.

Это не серьёзно. Потом сработает ограничение на количество и объём аргументов и синтаксис {n..m} не всеми shell-ами поддерживается.

vodz ★★★★★
()
Ответ на: комментарий от egorcod

У нас тут enterprise-проект?

Я, конечно, понимаю, что хозяин-барин и всё такое. Но раз уж опубликовали, то и получите комментарии. Я же вас не заставляю сделать как я предложил, я обосновал, почему это лучше и почему ваше возражение смешно.

vodz ★★★★★
()
Ответ на: комментарий от vodz

Вы не понели. Смысл вот этого треда - именно наяривание на байтики, а не поддержка всех существующих платформ.

egorcod
() автор топика
Ответ на: комментарий от egorcod

Смысл вот этого треда - именно наяривание на байтики,

Это вы может и подразумевали, но сказали только сейчас. Моё чувство перфекционизма говорит, что если имеется в виду «может кому и пригодится», то оно должно быть пригодным: понятным, универсальным, быстрым, не имеющим проблем (фич). Кстати, я даже не знаю, что такое feh, у меня его нет.

vodz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.