検索結果を使用できるように、grep
からの出力を処理/変換する(またはgrep
のような結果を生成し、ファイル内の文字列やパターンを見つけるなど)ことは可能ですか?エディターを開くためのリンク(つまり、ハイパーリンク)として? grep
の結果でfilename:line_number
をクリックし、選択した行でエディターを開きます。
$ grep "mServiceIntent" -R ./src/
./src/example/PhotoThumbnailFragment.Java:67 private Intent mServiceIntent;
./src/example/PhotoThumbnailFragment.Java:194 mServiceIntent =
./src/example/PhotoThumbnailFragment.Java:203 getActivity().startService(mServiceIntent);
システムにプロトコルを登録してエディターを開く方法を知っています。たとえば、私のシステムのsblm://*
のようなすべてのURLはSublimeTextで開きます。私の質問です:guakeターミナルでカスタムリンクを作成する方法(またはそれは地震に依存せず、デフォルトのターミナルプログラムで機能します)?
注:関連する(?)質問 ファイル名をクリック可能にするターミナルアプリはありますか? 、特定の実装/ソリューションの詳細があいまいであり、直接ジャンプするという私の要件について明示的に言及していませんファイル内の識別された行。
新しいバージョンのGNOMEターミナルは、特定のエスケープシーケンスを介したカスタムターゲットとのハイパーリンクをサポートするようになりました。試す
echo -e '\e]8;;http://example.com\aThis is a link\e]8;;\a'
これらを開くと、StephenKittの回答で説明されているのと同じように機能します。説明した問題に対処するには、sedスクリプト(またはより高度な方法)を使用して、ファイル名をハイパーリンクに変換します。私にとっては次のことが仕事をします(bashで、ハイパーリンクを作成する上記の方法を想定しています)
grep "mServiceIntent" -R ./src/ | sed -e $'s#^\(.*\):#\e]8;;file:'`pwd`/$'\\1\a\\1\e]8;;\a#'
(私はsublimeをインストールしていませんが、おそらくfile:をslbmに変更するだけです:)
参照: https://Gist.github.com/egmontkob/eb114294efbcd5adb1944c9f3cb5feda (これは ターミナル-ハイパーリンクの作成 での私の回答に基づいています)
それはコンピュータです。あなたはそれをプログラムすることができます。 :-)
何かを「クリック可能」にするには、GUIアプリケーションをプログラミングするか、どういうわけかHTMLを使用します。私が考えることができる最も簡単な方法は、HREFのHTMLページを生成し、出力をパイプでlynxにパイプし、ブラウザがemacsを適切に開くように構成することです。