Před chvílí jsme psali o SoCLI , Python skript pro vyhledávání a procházení webu Stack Overflow z příkazového řádku. Dnes budeme diskutovat o podobném nástroji s názvem "how2" . Je to nástroj příkazového řádku pro procházení Stack Overflow z Terminálu. Můžete se dotazovat v jednoduché angličtině stejně jako ve vyhledávání Google a pro vyhledávání daných dotazů používá Google a Stackoverflow API. Je to bezplatný a open source nástroj napsaný pomocí NodeJS .
Procházet přetečení zásobníku z terminálu pomocí how2
Protože how2 je balíček NodeJS, můžeme jej nainstalovat pomocí Npm správce balíčků. Pokud jste ještě nenainstalovali Npm a NodeJS, podívejte se na následující průvodce.
- Jak nainstalovat NodeJS na Linux
Po instalaci Npm a NodeJS spusťte následující příkaz k instalaci nástroje how2.
$ npm install -g how2
Nyní se podívejme, jak procházet Stack Overflow pomocí tohoto programu. Typické použití pro vyhledávání na webu Stack Overflow pomocí nástroje „how2“ je:
$ how2 <search-query>
Například budu hledat, jak vytvořit archiv tgz.
$ how2 create archive tgz
Jejda! Zobrazuje se mi následující chyba.
/home/sk/.nvm/versions/node/v9.11.1/lib/node_modules/how2/node_modules/devnull/transports/transport.js:59 Transport.prototype.__proto__ = EventEmitter.prototype; ^ TypeError: Cannot read property 'prototype' of undefined at Object.<anonymous> (/home/sk/.nvm/versions/node/v9.11.1/lib/node_modules/how2/node_modules/devnull/transports/transport.js:59:46) at Module._compile (internal/modules/cjs/loader.js:654:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:665:10) at Module.load (internal/modules/cjs/loader.js:566:32) at tryModuleLoad (internal/modules/cjs/loader.js:506:12) at Function.Module._load (internal/modules/cjs/loader.js:498:3) at Module.require (internal/modules/cjs/loader.js:598:17) at require (internal/modules/cjs/helpers.js:11:18) at Object.<anonymous> (/home/sk/.nvm/versions/node/v9.11.1/lib/node_modules/how2/node_modules/devnull/transports/stream.js:8:17) at Module._compile (internal/modules/cjs/loader.js:654:30)
Může to být chyba. Doufám, že to bude opraveno v budoucích verzích. Našel jsem však řešení zveřejněné zde .
Chcete-li tuto chybu dočasně opravit, musíte upravit transport.js soubor pomocí příkazu:
$ vi /home/sk/.nvm/versions/node/v9.11.1/lib/node_modules/how2/node_modules/devnull/transports/transport.js
Skutečná cesta k tomuto souboru se zobrazí ve vašem chybovém výstupu. Nahraďte výše uvedenou cestu k souboru svou vlastní. Poté najděte následující řádek:
var EventEmitter = process.EventEmitter;
a nahraďte jej následujícím řádkem:
var EventEmitter = require('events');
Stiskněte ESC a zadejte :wq pro uložení a ukončení souboru.
Nyní znovu vyhledejte dotaz.
$ how2 create archive tgz
Zde je ukázkový výstup z mého systému Ubuntu.
Procházet přetečení zásobníku z terminálu
Pokud odpověď, kterou hledáte, není ve výše uvedeném výstupu zobrazena, stiskněte MEZERNÍK klávesu ke spuštění interaktivního vyhledávání, kde si můžete projít všechny navrhované otázky a odpovědi ze stránky Stack Overflow.
Mezi výsledky se můžete pohybovat pomocí šipek NAHORU/DOLŮ. Jakmile dostanete správnou odpověď/otázku, stiskněte MEZERNÍK nebo ENTER a otevřete ji v Terminálu.
Chcete-li se vrátit a ukončit, stiskněte ESC .
Hledejte odpovědi pro konkrétní jazyk
Pokud neurčíte jazyk, výchozí nastavení je Bash unixový příkazový řádek a okamžitě vám poskytne nejpravděpodobnější odpověď, jak je uvedeno výše. Výsledky můžete také zúžit na konkrétní jazyk, například perl, python, c, Java atd.
Chcete-li například vyhledávat dotazy související s jazykem "Python" pouze pomocí -l příznak, jak je znázorněno níže.
$ how2 -l python linked list
Chcete-li získat rychlou pomoc, zadejte:
$ how2 -h
Závěr
Obslužný program how2 je základní program příkazového řádku pro rychlé vyhledávání otázek a odpovědí z Stack Overflow, aniž byste opustili svůj terminál, a tuto práci dělá docela dobře. Je to však pouze prohlížeč CLI pro přetečení zásobníku. Pro některé pokročilé funkce, jako je vyhledávání nejvíce hlasovaných otázek, vyhledávání dotazů pomocí více značek, barevné rozhraní, odesílání nové otázky a prohlížení statistik otázek atd., SoCLI je dobré jít.
A to je zatím vše. Doufám, že to bylo užitečné. Brzy tu budu s dalším užitečným průvodcem. Do té doby zůstaňte naladěni na OSTechNix!
Na zdraví!