lessの現在の内容をファイルに保存するにはどうすればよいですか?


91

コマンドの結果をパイプし、lessその内容をファイルに保存することを決定した場合、これは可能ですか?

aバッファの最後にマークを設定してから、先頭に戻って|aviコンテンツ全体をに送信しようとしましたが、うまくいきviません。


1
を実行して、stdinからロードするようにviに指示した場合、元の手法は機能します|avi -
ジョーショー14

回答:


102

私のシステムでman lessは、言う

       sファイル名
              入力をファイルに保存します。これは、入力が
              通常のファイルではなく、パイプ。

私のために働く!


4
どういうわけか、これは私にとっては機能しません-「s」を入力すると、ウィンドウが1行移動します。Macを使用しています。
ベンロート14

2
@benroth:おそらくlesskey、通常のコマンドを変更するファイルがあります。参照man lesskey
RedGrittyBrick 14

8
s私にとっても機能しませんが、-o file機能します。
user1338062

1
そして、なぜ「h」と入力してインタラクティブなヘルプを取得するときに、これが言及されていないのですか?1あなたは、対話型ヘルプを読んだので、相談して考えていなかった場合man less...
ピーターV.Mørch

1
@comfreak:はい、Ubuntu 18.04では487未満ですが、Debian 9 / stretch / stableでは481未満ではありません
Peter V.Mørch

24

@benrothが言っているように、押すとMac上では受け入れられた答えは機能しませんが、押すsだけで行が下がりますが、別の方法を使用することもできます。

less --help

|Xcommand            Pipe file between current pos & mark X to shell command.

そして

A mark is any upper-case or lower-case letter.
Certain marks are predefined:
     ^  means  beginning of the file
     $  means  end of the file

したがって、バッファの先頭(<)に移動して、次の場合:

|$cat > /tmp/foo.txt

バッファの内容はに書き出され/tmp/foo.txtます。


このメソッドは、表示中の現在のバッファーを別のコマンドでパイプする場合に特に役立ちます。
ドロンBehar

3

less開いたら、完全な出力をファイルに保存できます。のようにvim、lessはコマンドをサポートします。

ただ、キーを入力しs、その後、lessちょうど入力したファイル名を入力して、あなたがコンテンツを保存したいファイルの名前を聞いてきますEnter

乾杯


0

>演算子を使用します。例:less foo.bar > output.txt


おかげで@Drorが、私はこれ以上を求める少ないアプリケーションでは、ないのbashで、すでによ
ジョナサン日

Q / Aへの貴重な貢献。まったく別の質問を始めるよりも、Less Viewerで複数のファイルをスクリプト化する方法が必要な人は、多くのメリットがあります。(多くの検索の後)作業時間を節約しました。ありがとう!
LDジェームズ

0

少ない開始している場合はありませんが、以前にlessとファイルに送信したいことがわかっている場合は、teeコマンドを使用できます

command | tee out_file | less

マークに感謝しますが、私がすでに少ない場合はどうすればよいかを具体的に探しています
ジョナサンデイ

0

私の答えは少し遅いと思います。ただし、上記のbenrothの懸念に対応するための参考として:コロンプロンプトでオプション "-l"(DASH ELLを読み取る)を使用して、ページャーのコンテンツをログファイルにダンプするオプションが常にあります。

ページャーはログファイルを要求します。キーを押して[CR]を押します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.