GNU/Linux >> Linux の 問題 >  >> Linux

ターミナルからスタックオーバーフローを閲覧する方法

少し前に、 SoCLIについて書きました 、コマンドラインからStackOverflowWebサイトを検索および参照するためのPythonスクリプト。今日は、 "how2"という名前の同様のツールについて説明します。 。ターミナルからスタックオーバーフローを閲覧するためのコマンドラインユーティリティです。 Google検索の場合と同じように、平易な英語でクエリを実行できます。 また、GoogleとStackoverflow APIを使用して、指定されたクエリを検索します。 NodeJSを使用して作成された無料のオープンソースユーティリティです。 。

how2を使用してターミナルからスタックオーバーフローを参照する

how2はNodeJSパッケージであるため、 Npmを使用してインストールできます。 パッケージマネージャー。 NpmとNodeJSをまだインストールしていない場合は、次のガイドを参照してください。

  • LinuxにNodeJSをインストールする方法

NpmとNodeJSをインストールした後、次のコマンドを実行してhow2ユーティリティをインストールします。

$ npm install -g how2

次に、このプログラムを使用してStackOverflowを参照する方法を見てみましょう。 「how2」ユーティリティを使用してStackOverflowサイトを検索する一般的な使用法は、次のとおりです。

$ how2 <search-query>

たとえば、tgzアーカイブを作成する方法を検索します。

$ how2 create archive tgz

おっと!次のエラーが発生します。

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

バグの可能性があります。将来のバージョンで修正されることを願っています。ただし、ここに投稿された回避策を見つけました 。

このエラーを一時的に修正するには、transport.jsを編集する必要があります コマンドを使用したファイル:

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

このファイルの実際のパスがエラー出力に表示されます。上記のファイルパスを独自のファイルパスに置き換えます。次に、次の行を見つけます。

var EventEmitter = process.EventEmitter;

次の行に置き換えます:

var EventEmitter = require('events');

ESCを押して、:wqと入力します ファイルを保存して終了します。

クエリをもう一度検索します。

$ how2 create archive tgz

これが私のUbuntuシステムからの出力例です。

ターミナルからのスタックオーバーフローの閲覧

探している答えが上記の出力に表示されない場合は、スペースバーを押してください StackOverflowサイトから提案されたすべての質問と回答を確認できるインタラクティブ検索を開始するためのキー。

上/下矢印を使用して、結果間を移動します。正しい答え/質問が得られたら、スペースバーまたはEnterキーを押してターミナルで開きます。

戻って終了するには、 ESCを押します 。

特定の言語の回答を検索

言語を指定しない場合、デフォルトはBashになります unixコマンドラインを使用して、上記の最も可能性の高い答えをすぐに提供します。結果を特定の言語(perl、python、c、Javaなど)に絞り込むこともできます。

たとえば、 -lのみを使用して「Python」言語に関連するクエリを検索するには 以下に示すようにフラグを立てます。

$ how2 -l python linked list

クイックヘルプを表示するには、次のように入力します:

$ how2 -h

結論

how2ユーティリティは、ターミナルを離れることなくStack Overflowから質問と回答をすばやく検索するための基本的なコマンドラインプログラムであり、この作業を非常にうまく実行します。ただし、これはスタックオーバーフロー用のCLIブラウザにすぎません。最も投票された質問の検索、複数のタグを使用したクエリの検索、色付きのインターフェイス、新しい質問の送信、質問の統計の表示などの高度な機能については、 SoCLI 行ってもいいです。

そして、今のところこれですべてです。これがお役に立てば幸いです。もうすぐ便利なガイドと一緒にここに来ます。それまでは、OSTechNixにご注目ください!

乾杯!


Linux
  1. LinuxでターミナルからWebを検索する方法

  2. ターミナルからGUIプログラムにキーストローク(f5)を送信する方法は?

  3. Journalctl:ターミナルでテキストが切り捨てられないようにする方法は?

  1. ターミナルからFirefoxを設定する方法は?

  2. Linux 端末から特定のファイルを見つけるにはどうすればよいですか?

  3. Linuxターミナルから正規表現を使用してフォルダーを削除するにはどうすればよいですか

  1. ターミナルの任意のパスから .sh-script を実行するには?

  2. ターミナルカーソルをボックスから行に変更するには?

  3. 端末から特定のファイルを開く方法は?