コマンドの結果をless
にパイプして、内容をファイルに保存することにした場合、これは可能ですか?
バッファの最後にマークa
を設定してから、先頭に戻って|avi
を使用してコンテンツ全体をvi
に送信しますが、これは機能しません。
私のシステムでは、man less
言います
s filename 入力をファイルに保存します。これは、入力が通常のファイルではなく パイプである場合にのみ機能します。
私のために働く!
受け入れられた回答は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
に書き出されます。
less
を開いたら、完全な出力をファイルに保存できます。 vim
と同様に、lessはコマンドをサポートしています。
キーs
を入力するだけで、less
はコンテンツを保存するファイルの名前を尋ねてきます。ファイル名を入力してからEnter
を入力します。
乾杯
私の答えは少し遅すぎると思います。ただし、参考までに、上記のbenrothの懸念への対応として、OSXユーザーには、オプション "-l"を使用してページャーの内容をログファイルにダンプするオプションが常にあります(DASH ELLを参照)。コロンプロンプトで。
ページャはログファイルを要求します。キーを押して[CR]を押します
少し違うことをしたかったのです。テキストの現在表示されている部分だけをファイルに書き込みます。 「|」を使用してそうできることがわかりました演算子、「。」を指定マークとして、そしてcat >/tmp/mycopy
をシェルコマンドとして使用します。
使用 >
演算子。例えば: less foo.bar > output.txt
。
少ない方から始めた場合は違いますが、以前にそれを少ない方とファイルに送信したい場合は、teeコマンドを使用できます
command | tee out_file | less