web-dev-qa-db-ja.com

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

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

バッファの最後にマークaを設定してから、先頭に戻って|aviを使用してコンテンツ全体をviに送信しますが、これは機能しません。

96
Jonathan Day

私のシステムでは、man less言います

 s filename 
入力をファイルに保存します。これは、入力が通常のファイルではなく
パイプである場合にのみ機能します。

私のために働く!

108
RedGrittyBrick

受け入れられた回答はMacでは機能しません-@benrothが言うように、sを押すと1行下に移動します-しかし、別の方法を使用できます。

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に書き出されます。

25
Joe Shaw

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

キーsを入力するだけで、lessはコンテンツを保存するファイルの名前を尋ねてきます。ファイル名を入力してからEnterを入力します。

乾杯

4
Magnos Hammes

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

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

0
superk

少し違うことをしたかったのです。テキストの現在表示されている部分だけをファイルに書き込みます。 「|」を使用してそうできることがわかりました演算子、「。」を指定マークとして、そしてcat >/tmp/mycopyをシェルコマンドとして使用します。

0
user54690

使用 >演算子。例えば: less foo.bar > output.txt

0
Dror

少ない方から始めた場合は違いますが、以前にそれを少ない方とファイルに送信したい場合は、teeコマンドを使用できます

command | tee out_file | less
0
user151019