Быстрое открыте url для ленивых
Мне постоянно присылают в icq и irc всевозможные ссылки и для их открытия приходилось делать множество телодвижений, как то открытие/переключение в броузер, открытия окна, копирования ссылки, открытия..
Это решение позволяет выделять текст в котором находятся ссылки и нажатием клавиши открыть все эти ссылки в броузере.<
Во-первых нам нужен скрипт который из потока текста вылавливает ссылки. Регесп честно содран из man urlview Ж:-D
% cat ~/bin/cut-urls #!/usr/bin/env perl # by # cut urls from stdio # regex from man urlview while(<>) { while (s$((((http|https|ftp|gopher)|mailto):(//)?[^< >"\t]*|(www|ftp)[0-9]?\.[-a-z0-9.]+)[^".,;\t\n\r< >\):]?[^,< >"\t]*[^".,;\t\n\r< >\):])$$) { print "$1\n"; } } %
Во вторых существует такая замечательная программа как xclip которая позволяет работать с буфером X в консоли.
Проверяем как это работает. Выделяю в с помощью мышки несколько строчек в которых находится url и запускаю
% xclip -o | ~/bin/cut-urls http://linsovet.com/node/ %
Ну а передать эти ссылки броузеру - дело техники Ж:-)
Если используется fluxbox то добавим в ~/.fluxbox/keys
Mod4 f :ExecCommand rxvt -e elinks -session-ring 8765 -touch-files 1 `xclip -o | ~/bin/cut-urls` Mod4 w :ExecCommand for i in `xclip -o | ~/bin/cut-urls`; do mozilla-firefox -remote "openURL($i,new-tab)"; done
или при использовании xbindkeys (который работает при любом оконном менеджере), то добавим в ~/.xbindkeysrc
# open urls from X11 clipboard in X11 browser
"for i in `xclip -o | ~/bin/cut-urls`; do x-www-browser "$i"; done"
mod4+w
# open urls from X11 clipboard in elinks
"x-terminal-emulator -e www-browser `xclip -o | ~/bin/cut-urls`"
mod4+fТеперь если я хочу открыть ссылки, я просто выделяю их с помощью мыши и жму win+f и открываются ссылки в elinks в табах, или по win+w в firefox тоже в табах.
Для независящего от оконного менеджера запуска программ по горячим клавишам рекомендуется xbindkeys.
Дам hit для развития идеи: есть пакет mime-support (а Debian так и называется) который умеет вот такое
NAME
run-mailcap, see, edit, compose, print - execute programs via entries in the
mailcap fileТоесть запуск нужного приложения в зависимости от настроек mailcap базы данных(для тех кто не в курсе - это позволяет делать запуск приложения в зависимости от его типа. man mime
Дерзайте Ж:-)
Может быть следующий раз я расскажу запуск приложений из zsh для лентяев..
Вот и все. Приятного лентяйничания Ж:-)
- 2230 просмотров
Страница для печати


some times in our file, selection or output there are a lot duplicated URLs. It could make us problems. For eliminating it I suggest to add to your cut-url script:
хмм.. прошестил хистори icq , получил такие интересные url как:
ftp.iso - видимо файлик
ftp:x:14:50:FTP
ftp:/sbin/nologin - цитаты из /etc/passwd =)
ftp:ftp - видимо аргумент команды chown =)
хех. можно и подправить как руки дойдут Ж:-)
--
Signature invent in progress 24% ##........
grep -Eo '((((http|https|ftp|gopher)|mailto):(//)?[^<>"[:space:]]*|(www|ftp)[0-9]?\.[-a-z0-9.]+)[^".,;<>\):[:space:]]?[^,<>"[:space:]]*[^".,;<>\):[:space:]])'
Я бы посоветовал добавить ключ "-i", чтобы регистр не учитывать, не всегда же все урлы в нижнем регистре.
открыл для себя grep -o
век живи, век rtfm Ж:-)
--
Signature invent in progress 24% ##........
Да... Я тоже для себя открыл grep -o =)))
Шок просто... Недавно скрипт писал (проверка IP по спам базам) и ругался, что греп не умеет выдирать только-то, что нужно :))) Да и на себя ругался, что не знаю какая прога это делает %).
Аффтару огромный респект!!! =)))
И вообще регулярка какая-то страшная в этом urlview... ((http|https|ftp|gopher)|mailto), когда можно (http|https|ftp|gopher|mailto) и т.д.
Отправить комментарий