web-dev-qa-db-fra.com

Comment écrire toutes les lignes de moins dans un fichier?

J'ai dirigé une commande vers less, et maintenant je veux enregistrer la sortie de la commande dans un fichier. Comment je fais ça?

Dans ce cas, je ne veux pas utiliser tee, je veux une solution directement à partir de less, de sorte que je n'ai pas à réexécuter une commande longue si j'ai oublié d'utiliser tee.

Cette question est similaire à celle-ci, la seule différence est que je veux enregistrer toutes les lignes, pas un sous-ensemble: écrire des lignes dans un fichier à partir de moins

81
Flimm

Dans less, saisissez s puis tapez le nom du fichier dans lequel vous souhaitez enregistrer, puis Enter.
Dans la page man, sous COMMANDS:

s filename
      Save the input to a file.  This only works if the input is a pipe, not an ordinary file.

La page man indique également que, selon votre installation particulière, la commande s peut ne pas être disponible. Dans ce cas, vous pouvez aller à la ligne 1 avec:

g or < or ESC-<
      Go to line N in the file, default 1 (beginning of file).

et dirigez tout le contenu vers cat avec:

| <m> Shell-command
      <m> represents any mark letter. Pipes a section of the input file to the
      given Shell command. The section of the file to be piped is between the
      first line on the current screen and the position marked by the letter. 
      <m> may also be ^ or $ to indicate beginning or end of file respectively.

donc soit:

g|$cat > filename

ou:

<|$cat > filename

c'est-à-dire le type g ou < (g ou inférieur à|$ (pipe puis dollar) puis cat > filename et Enter.
Cela devrait fonctionner que l'entrée soit un tube ou un fichier ordinaire.

111
don_crissti

Une façon de le faire sans tee est la suivante.
less /path/to/input > /path/to/output
Ce qui précède remplacera /path/to/output s'il existe déjà.

Pour faire de même, mais ajoutez à /path/to/output est comme suit.
less /path/to/input >> /path/to/output

Pour enregistrer le texte dans less après l'avoir ouvert, vous pouvez utiliser la fonction Enregistrer le fichier.
En less, appuyez sur s. Tapez ensuite le nom du fichier.
Si vous avez utilisé un canal, le fichier sera automatiquement écrit dans le répertoire de travail.
Si vous n'avez pas utilisé de pipe, vous ouvrirez un fichier avec le texte (pour lequel vous pouvez sauvegarder).
Je pense que le fichier sera ouvert dans vim.

0
nehcsivart