Question Comment puis-je enregistrer le contenu actuel de moins dans un fichier?


Si j'ai envoyé les résultats d'une commande à less et a ensuite décidé que je veux enregistrer le contenu dans un fichier, est-ce possible?

J'ai essayé de mettre une marque a à la fin de la mémoire tampon, puis retour au sommet et en utilisant |avi envoyer le contenu entier à vi, mais ça ne marche pas.


81
2018-05-31 09:46


origine


Votre technique originale fonctionnerait si vous demandiez à vi de charger depuis stdin, en faisant |avi -. - Joe Shaw


Réponses:


Sur mon système, man less dit

       s nom de fichier
              Enregistrez l'entrée dans un fichier. Cela ne fonctionne que si l'entrée est un
              pipe, pas un fichier ordinaire.

Travaille pour moi!


96
2018-05-31 10:09



gentil, merci! Fonctionne un régal. - Jonathan Day
D'une certaine manière, cela ne fonctionne pas pour moi - taper «s» déplace la fenêtre d'une ligne. Je suis sur un Mac. - benroth
@benroth: Vous avez probablement un lesskey fichier qui modifie les commandes normales. Voir man lesskey - RedGrittyBrick
s ne fonctionne pas pour moi non plus, mais -o file Est-ce que. - user1338062
Et pourquoi n'est-ce pas mentionné lorsque je tape "h" pour obtenir une aide interactive? +1 si vous avez lu l'aide interactive et que vous n'avez donc pas pensé à consulter man less... - Peter V. Mørch


La réponse acceptée ne fonctionne pas sur Mac - comme le dit @benroth, en appuyant sur s déplace simplement une ligne - mais vous pouvez utiliser une méthode différente.

Dans less --help:

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

et

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

Donc, si vous allez au sommet du tampon (<) et alors:

|$cat > /tmp/foo.txt

le contenu du tampon sera écrit sur /tmp/foo.txt.


20
2018-04-18 17:05



Cette méthode peut être particulièrement utile lorsque vous souhaitez canaliser le tampon en cours d'affichage via une autre commande. - Doron Behar


Quand ton less est ouvert, vous pouvez enregistrer la sortie complète dans un fichier. Comme vim, moins prend en charge les commandes.

Il suffit de taper la clé s, puis less vous demandera le nom du fichier où vous souhaitez enregistrer le contenu, tapez simplement le nom du fichier, puis tapez Enter.

À votre santé


3
2017-11-12 19:25





Utilisez le > opérateur. Par exemple: less foo.bar > output.txt.


0
2018-05-31 09:49



Merci @Dror, mais je suis déjà dans la moindre application, pas plus à l'invite de bash - Jonathan Day
Une contribution précieuse à la Q / R. Plutôt que de commencer une question totalement distincte, les personnes ayant besoin d’une méthode pour écrire plusieurs fichiers par Moins spectateur peut bénéficier beaucoup. M'a sauvé des heures de travail (après beaucoup de recherches). Merci! - L. D. James


Ma réponse arrive un peu trop tard je crois. Mais juste pour référence, En réponse aux préoccupations de benroth ci-dessus: Pour les utilisateurs d'OSX, il est toujours possible de transférer le contenu du pager dans un fichier journal en utilisant l'option "-l" (lire DASH ELL) à l'invite des deux points.

Le pager demandera un fichier journal. Touchez-le et appuyez sur [CR]


0
2017-12-27 23:27





Non si vous avez moins commencé, mais si vous savez avant de l'envoyer à moins et un fichier, vous pouvez utiliser la commande tee

command | tee out_file | less

-1
2018-05-31 09:51



Merci Mark, mais je cherche spécifiquement comment le faire si je suis déjà en moins - Jonathan Day