Online video hd

Смотреть фильмы бесплатно

Официальный сайт welinux 24/7/365

Смотреть видео бесплатно

h0rr0rr_drag0n 07.02.2010 23:35

СкриптыПоиск в Google из командной строки.

Недавно, на "Линсовете" выкладывали небольшую функцию на баше, которая позволяет искать в google из консоли. У этой функции есть один маленький недостаток - она может искать только по одному слову. Если использовать ее как g test тест, то результат будет не совсем таким, который вы ожидали. Я немного изменил эту функцию, чтобы она работала как надо. Код функции под катом.

 1
2
3
4
5
6
7
8
9
10
function g {
if [ "$*" = "" ]; then
echo "Usage: g [search string='string']"
elif env | grep -q DISPLAY; then
YOUR_BROWSER=chromium
# you must escape your backslashes and exclamation marks and ampersands and brackets and semicolons =))
SEARCHSTR=`echo "$*" | sed 's/+/%2B/g'; | sed 's/&/%26/g' | sed 's/ /+/g'`
env $YOUR_BROWSER "http://www.google.ru/search?sourceid=chrome&ie;=UTF-8&q;=""$SEARCHSTR" # &>/dev/null &
fi
}

Перевод комментария:
Необходимо экранировать следующие символы: обратный слеш, восклицательный знак, амперсанд, скобки и точку с запятой.
Например, если нужно найти test&test;, то в командной строке нужно написать g test\&test;.


Тэги: bash Google
+ 4 -
Похожие Поделиться

KblCb 08.02.2010 00:29 #
+ 0 -
гм... ну и зависимости я вам скажу... и что гуглехром вернёт ответ в консоль?
warchief 08.02.2010 01:10 #
+ 1 -
нет, не вернёт просто откроет новую вкладку
booley 08.02.2010 08:19 #
+ 0 -
Вы бы предпочли чтобы он вернул в консоль распарсенный текст? :)
booley 08.02.2010 08:21 #
+ 0 -
P.S. Это возможно. Но пользы будет мало, ибо чтобы открыть ссылки все равно нужен браузер.
m0nhawk 08.02.2010 11:35 #
+ 0 -
А сделать экранирование «нэ»? :)
booley 08.02.2010 11:40 #
+ 0 -
Проще перестроить юзера :)
h0rr0rr_drag0n 08.02.2010 14:37 #
+ 0 -
Если эти символы не будут экранированы юзером, то стараниями bash'а они не дойдут до скрипта. Если я напишу test\тест, то у скрипта в $* будет уже testтест, а бекслеш будет съеден башем.
Shtsh 08.02.2010 12:01 #
+ 0 -
А почему бы не сделать такое?
1
YOUR_BROWSER=x-www-browser

Будет использоваться значение из Alternatives
То есть конструкцию вида
1
2
3
if [ "$BROWSER"="" ]; then
YOUR_BROWSER=x-www-browser
fi

booley 08.02.2010 12:26 #
+ 1 -
Это ж скрытый пиар хромиума.
Контору не пали, ок? :)
h0rr0rr_drag0n 08.02.2010 14:35 #
+ 0 -
В арче увы нет x-www-browser.
P.S. И никакой это не пиар хромиума =)) Чем пользуюсь, то и вписал в $YOUR_BROWSER.
Shtsh 08.02.2010 15:09 #
+ 1 -
Но всё равно стоит сделать проверку на то, что переменная $BROWSER пустая
kstep 08.02.2010 12:20 #
+ 0 -
Зачем запускать столько процессов sed в конвеере? pid-ов не жалко? ;)
Не проще ли сделать так:
1
SEARCHSTR=`echo "$*" | sed 's/+/%2B/g;s/&/%26/g;s/ /+/g'`

h0rr0rr_drag0n 08.02.2010 14:34 #
+ 0 -
Не жалко, они ведь буквально какие-то доли секунды работают и все. Зато код более читабелен.
TiGR 08.02.2010 15:47 #
+ 0 -
А в чём прикол? В смысле, кому это нужно если в итоге всё равно запускается браузер?

ИМХО, omnibox в хроме для поиска куда круче, чем функционал обычной консоли.
booley 08.02.2010 15:55 #
+ 1 -
Открыта консоль, браузер закрыт. Такое бывает, поверь. И сразу попасть на нужные результаты поиска - экономит секунду-две.
TiGR 08.02.2010 17:24 #
+ 0 -
Верю, но у меня обычно браузер тоже открыт постоянно (равно как и yakuake).

Но если учесть функционал omnibox, то там очень часто можно избежать открытия страницы результатов поиска вообще, и попасть на нужную страницу прямо из строки поиска. Так что выигрыш тут невилируется. А если добавить автокомплит по запросам, то и вообще не понятно, что будет быстрее.

Ну это, конечно, только для случая использования chrome, с другими браузерами такого выигрыша нет.

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн