問題タブ [less-unix]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
shell - pager (less) -- 現在のスクロール位置を取得しますか?
tmuxを使用して、スクリプトの出力の表示をスクリプト化しています (まあ、それは単なるプログラムですgit diff
): ファイルシステムの変更が検出されると、シェル スクリプトが実行されtmux send-keys q enter C-l "git diff" enter
、ビューが効果的に更新されgit diff
ます。
これは、 iTerm の coprocessesによって提供される機能に似ていると考えることができます。
問題は、更新時に同じ位置にスクロールして戻ることです。
tmux を使用する理由の 1 つは、ウィンドウが実際には完全に通常のインタラクティブな端末セッションであり、通常どおりスクロールして完全な出力を確認できることです。
しかし、どうにかしてスクロール位置を取得したいです。
iTerm2 のコプロセスとまったく同じように、ターミナル ウィンドウ自体のテキスト コンテンツに対して実際に計算を行いたいとしますが、Linux で (ssh 経由で) 使用できるようにします。tmux はこの機能を提供しますか?
bash - カスタム LESSOPEN colorize スクリプトを使用したテーリングレス
ログ ファイルからキーワードを選択し、用語を強調表示する次のスクリプトを作成しました。
フォロー/テールレス(Shift + F)を試行するまでは問題なく動作し、その時点で新しいログ行のテールに失敗します。理由はありますか?
python - 範囲外のASCII文字を表示するにはどうすればよいですか?
PuTTY を使用して Linux マシンに接続しています。
Linux マシンで、文字のリストを取得し、各文字をそのインデックスと共に順番に出力する Python スクリプトを実行しています。
リスト内の一部の文字は、印刷可能な ASCII 文字の範囲外です。これらの不規則な文字により、出力が破損しています。単に表示されない場合もあれば、有効なテキストの大きなチャンクを実際に削除する場合もあります。
バッファリングをオフにすることでこれを修正できると思っていましたが、python -u フラグを使用してスクリプトを実行すると問題が発生します。
興味深いことに、入力を less リーダーにパイプすると、この問題は発生しません。Less では、不規則な文字が次のように表示されます: <A9>
、<A7>
、^V
、^@
など。テキストのチャンクが欠落することはありません。
私の問題がどこにあるのかわかりません。パイプされていない出力に不規則な文字が表示されるように端末を構成する方法はありますか?
linux - Linuxの少ないコマンド検索で見えない文字
Linuxでlessコマンドを使って見えない1文字(0x05などの制御文字)を検索したい。lessでは文字が^E
と表示されていることがわかりました。文字"^E"を直接使用して検索することはできません。VIでもなく、単に検索するだけでもありません。ctrl+vctrl+e/\0x05
bash - 対話型コマンドからの出力を less にパイプします
次のようなことをしたい
openssl
からのパスワードが必要ですstdin
。less
が関与すると、これはすべて台無しになります。
対話型コマンド (openssl
パスワードの要求など) から出力を取得し、出力を にパイプする方法はありますless
か?
または、bash スクリプトを使用するより良い手法はありますか?
python - Python Fabric: リモートで less などの対話型プログラムを実行していますか?
次のようなものを実行すると:
ファブリック内では、行の先頭に Out: が追加され、それとのやり取りが期待どおりに機能しません。
私がそれを実行すると:
出力の先頭には何も追加されていません。実際には、次のようにローカルにパイプすることができます。
ただし、猫はsshを介して継続的にパイプバックするため、リモートリソースに負担がかかる可能性があるため、それが推奨されるかどうかはわかりません。また、ファイル全体が cat される前に (1 GB を超える可能性があります) 高速化すると、ブローカー パイプ エラーが発生します。
これを容易にするための推奨される方法は何ですか? 次のように ssh を直接使用する必要があります。
vim - vimでファイルの終わりに自動的に終了する方法は?
構文の強調表示を使用してページャーとして試しvim/less.sh
ましたが、小さな問題があります。小さなファイルを表示するとき、vim は「フルスクリーン」を使用し、ユーザーからのコマンドを待ちます。
vim を のように動作させることはできますless --quit-at-eof
か?
つまり、表示されたファイルが数行の長さの場合、自動的にvimを終了する方法はありますか?
シェル スクリプトを使用して 1 つの解決策を見つけました。ファイル行をwc -l
でカウントし、サイズが小さい場合はターミナルの高さを取得し:quit
ます。
ただし、このソリューションはひどく見え~
、小さなファイルの末尾に余分な行が残るため、これを行うためのより良い方法を探しています。
linux - man ページでフラグを探す方法はありますか?
マンページで特定のフラグを見つける方法を考え出そうとしています。通常、何かを検索するには「/」を入力し、その後に「-Werror」などを入力して特定のフラグを見つけます。問題は、テキスト内にフラグへの参照がたくさんあるマンページ (gcc が今私を動かしているものです) があるということです。
それほど大したことではありませんが、もう少しうまくやれるかもしれません。「-O\n」のようなものを探すことを考えましたが、うまくいきませんでした (おそらく man プログラムが C エスケープを使用していないためでしょうか? man gcc | grep $'-O\n'
)ドル記号が前に付いた引用符付きの文字列は、bash に一般的な C エスケープを解釈させます... 機能しませんでした。grep はマンページ全体をエコーしました。
それが私をここに連れてきた理由です:なぜですか?というか、できますか?