GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So durchsuchen Sie den Stapelüberlauf vom Terminal aus

Vor einiger Zeit haben wir über SoCLI geschrieben , ein Python-Skript zum Suchen und Durchsuchen der Stack Overflow-Website von der Befehlszeile aus. Heute werden wir über ein ähnliches Tool namens "how2" sprechen . Es ist ein Befehlszeilenprogramm zum Durchsuchen von Stack Overflow vom Terminal aus. Sie können wie in der Google-Suche im Klartext suchen und es verwendet Google- und Stackoverflow-APIs, um nach den angegebenen Abfragen zu suchen. Es ist ein kostenloses und Open-Source-Dienstprogramm, das mit NodeJS geschrieben wurde .

Stapelüberlauf vom Terminal mit how2 durchsuchen

Da how2 ein NodeJS-Paket ist, können wir es mit Npm installieren Paket-Manager. Wenn Sie Npm und NodeJS noch nicht installiert haben, lesen Sie die folgende Anleitung.

  • So installieren Sie NodeJS unter Linux

Führen Sie nach der Installation von Npm und NodeJS den folgenden Befehl aus, um das Dienstprogramm how2 zu installieren.

$ npm install -g how2

Lassen Sie uns nun sehen, wie Sie Stack Overflow mit diesem Programm durchsuchen. Die typische Verwendung zum Durchsuchen der Stack Overflow-Site mit dem Dienstprogramm "how2" ist:

$ how2 <search-query>

Zum Beispiel suche ich danach, wie man ein tgz-Archiv erstellt.

$ how2 create archive tgz

Hoppla! Ich erhalte die folgende Fehlermeldung.

/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)

Es kann ein Fehler sein. Ich hoffe, dass es in den zukünftigen Versionen behoben wird. Ich finde jedoch eine Problemumgehung, die hier gepostet wurde .

Um diesen Fehler vorübergehend zu beheben, müssen Sie die transport.js bearbeiten Datei mit dem Befehl:

$ vi /home/sk/.nvm/versions/node/v9.11.1/lib/node_modules/how2/node_modules/devnull/transports/transport.js

Der tatsächliche Pfad dieser Datei wird in Ihrer Fehlerausgabe angezeigt. Ersetzen Sie den obigen Dateipfad durch Ihren eigenen. Suchen Sie dann die folgende Zeile:

var EventEmitter = process.EventEmitter;

und ersetzen Sie es durch die folgende Zeile:

var EventEmitter = require('events');

Drücken Sie ESC und geben Sie :wq ein um die Datei zu speichern und zu beenden.

Suchen Sie nun erneut die Abfrage.

$ how2 create archive tgz

Hier ist die Beispielausgabe meines Ubuntu-Systems.

Stapelüberlauf vom Terminal durchsuchen

Wenn die gesuchte Antwort nicht in der obigen Ausgabe angezeigt wird, drücken Sie die LEERTASTE Taste, um die interaktive Suche zu starten, bei der Sie alle vorgeschlagenen Fragen und Antworten von der Stack Overflow-Site durchgehen können.

Verwenden Sie die Pfeiltasten NACH OBEN/NACH UNTEN, um zwischen den Ergebnissen zu wechseln. Sobald Sie die richtige Antwort/Frage erhalten haben, drücken Sie die LEERTASTE oder die EINGABETASTE, um sie im Terminal zu öffnen.

Um zurückzugehen und zu beenden, drücken Sie ESC .

Antworten für eine bestimmte Sprache suchen

Wenn Sie keine Sprache angeben, wird standardmäßig Bash verwendet Unix-Befehlszeile und geben Ihnen sofort die wahrscheinlichste Antwort wie oben. Sie können die Ergebnisse auch auf eine bestimmte Sprache einschränken, z. B. Perl, Python, C, Java usw.

Um beispielsweise nach Abfragen zu suchen, die sich auf die Sprache "Python" beziehen, verwenden Sie nur -l wie unten gezeigt kennzeichnen.

$ how2 -l python linked list

Um eine schnelle Hilfe zu erhalten, geben Sie Folgendes ein:

$ how2 -h

Schlussfolgerung

Das Dienstprogramm how2 ist ein einfaches Befehlszeilenprogramm, mit dem Sie schnell nach Fragen und Antworten von Stack Overflow suchen können, ohne Ihr Terminal zu verlassen, und es erledigt diese Aufgabe ziemlich gut. Es ist jedoch nur ein CLI-Browser für den Stapelüberlauf. Für einige erweiterte Funktionen wie die Suche nach den am häufigsten gewählten Fragen, Suchanfragen mit mehreren Tags, farbige Benutzeroberfläche, Einreichen einer neuen Frage und Anzeigen von Fragenstatistiken usw., SoCLI ist gut zu gehen.

Und das ist alles für jetzt. Hoffe, das war nützlich. Ich werde bald hier mit einer weiteren nützlichen Anleitung sein. Bleiben Sie bis dahin auf dem Laufenden mit OSTechNix!

Prost!


Linux
  1. So melden Sie sich sofort von einem Terminal bei Ubuntu ab

  2. Wie sendet man Tastenanschläge (f5) vom Terminal an ein Gui-Programm?

  3. So verwenden Sie SSMTP zum Senden einer E-Mail vom Linux-Terminal

  4. Wie führe ich ein .sh-Skript von einem beliebigen Pfad in einem Terminal aus?

  5. Wie ändere ich den Terminal-Cursor von Box zu Zeile?

So verwenden Sie das 7zip-Komprimierungstool vom Linux-Terminal

So suchen Sie Dateien im Terminal unter Linux

So installieren Sie XAMPP Stack auf Ubuntu 16.04 vom Terminal

Suchen und durchsuchen Sie die Stack Overflow-Website von der Befehlszeile aus

So verbinden Sie sich vom Terminal in Ubuntu Linux mit WLAN

Wie kann man stdin vom Terminal aus plotten?