it-swarm.com.de

Wie kann ich den aktuellen Inhalt von less in einer Datei speichern?

Wenn ich die Ergebnisse eines Befehls an less weitergeleitet und dann entschieden habe, dass ich den Inhalt in einer Datei speichern möchte, ist dies möglich?

Ich habe versucht, eine Markierung a am Ende des Puffers zu setzen und dann zum Anfang zurückzukehren und |avi zu verwenden, um den gesamten Inhalt an vi zu senden, aber das funktioniert nicht.

87
Jonathan Day

Auf meinem System sagt man less

Dateiname 
 
 Speichern Sie die Eingabe in einer Datei. Dies funktioniert nur, wenn die Eingabe eine 
 Pipe ist, keine gewöhnliche Datei. 

Funktioniert bei mir!

100
RedGrittyBrick

Die akzeptierte Antwort funktioniert auf dem Mac nicht - wie @benroth sagt, bewegt sich das Drücken von s nur eine Zeile nach unten - aber Sie können eine andere Methode verwenden.

In less --help:

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

und

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

Wenn Sie also an den Anfang des Puffers gehen (<) und dann:

|$cat > /tmp/foo.txt

der Inhalt des Puffers wird in /tmp/foo.txt geschrieben.

23
Joe Shaw

Wenn Ihre less geöffnet ist, können Sie die gesamte Ausgabe in einer Datei speichern. Wie vim unterstützt less Befehle.

Geben Sie einfach den Schlüssel s ein, und less fragt Sie nach dem Namen der Datei, in der Sie den Inhalt speichern möchten. Geben Sie einfach den Dateinamen ein und geben Sie dann Enter ein.

Prost

3
Magnos Hammes

Meine Antwort kommt ein bisschen zu spät, glaube ich. Aber nur als Referenz, als Antwort auf die oben genannte Besorgnis von benroth: Für OSX-Benutzer gibt es immer die Möglichkeit, den Inhalt des Pagers mit der Option "-l" (read DASH) in eine Protokolldatei zu kopieren ELL ) am Doppelpunkt Prompt.

Der Pager fordert eine Protokolldatei an. Geben Sie es ein und drücken Sie [CR]

0
superk

Verwenden Sie den Operator >. Zum Beispiel: less foo.bar > output.txt.

0
Dror