Less save file linux

How do I write all lines from less to a file?

I’ve piped a command to less , and now I want to save the command’s output to a file. How do I do that? In this case, I don’t want to use tee , I want a solution directly from less, so that I don’t have to rerun a long-running command if I forgot to use tee . This question is similar to this one, the only difference is that I want to save all of the lines, not a subset: Write lines to a file from less

3 Answers 3

From less , type s then type the file name you want to save to, then Enter .
From the man page, under COMMANDS :

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

man page also states that, depending on your particular installation, the s command might not be available. In that case, you could go to line 1 with:

and pipe the whole content to cat with:

| shell-command 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. may also be ^ or $ to indicate beginning or end of file respectively. 

i.e. type g or < (g or less-than) | $ (pipe then dollar) then cat > filename and Enter .
This should work whether input is a pipe or an ordinary file.

One way to do it without tee is as follows.
less /path/to/input > /path/to/output
The above will overwrite /path/to/output if it already exists.

Читайте также:  Linux access windows shared folder

To do the same, but append to /path/to/output is as follows.
less /path/to/input >> /path/to/output

To save the text in less after you have opened it, you can use the Save File feature.
When in less , press s . Then, type the file name.
If you used a pipe, the file will automatically be written to Working Directory.
If you did not use a pipe, you will open a file with the text (for which you can save).
I believe the file will be opened in vim .

Источник

Оцените статью
Adblock
detector