Як записати всі рядки від меншого до файла?


76

Я переклав команду less, і тепер я хочу зберегти вихід команди у файл. Як це зробити?

У цьому випадку я не хочу використовувати tee, я хочу отримати рішення безпосередньо з меншого, так що мені не доведеться повторювати тривалу команду, якщо я забув її використовувати tee.

Це питання схоже на це, лише різниця полягає в тому, що я хочу зберегти всі рядки, а не підмножину. Запишіть рядки у файл із меншої кількості

Відповіді:


106

Від lessвведіть sпотім введіть ім'я файлу , який ви хочете зберегти, а потім Enter.
Зі manсторінки, під COMMANDS:

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

manНа сторінці також зазначено, що, залежно від конкретної установки, sкоманда може бути недоступною. У такому випадку ви можете перейти до рядка 1:

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

і передайте весь вміст cat:

| <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.

так що:

g|$cat > filename

або:

<|$cat > filename

тобто тип gабо <( g або менше ) | $( труба, то долар ), тоді cat > filenameі Enter.
Це повинно працювати, будь то вхідна труба чи звичайний файл.


0

Один із способів зробити це без teeнаступного.
less /path/to/input > /path/to/output
Вищенаведене буде перезаписано, /path/to/outputякщо воно вже існує.

Зробити те ж саме, але додавати слід /path/to/outputтак.
less /path/to/input >> /path/to/output

Щоб зберегти текст lessпісля відкриття, ви можете скористатися функцією Зберегти файл.
Увійшовши less, натисніть s. Потім введіть ім'я файлу.
Якщо ви використовували трубу, файл автоматично записується в робочий каталог.
Якщо ви не використовували трубу, ви відкриєте файл з текстом (для якого можете зберегти).
Я вірю, що файл буде відкрито vim.


4
Я хочу рішення, lessколи я вже відкрив less.
Flimm

Я бачу. Вибачте за непорозуміння. Я оновив свою відповідь.
nehcsivart

-2

Ви не використовуєте менше, ви використовуєте трійник, а потім трубу до меншої.

./program | tee program.out | less


5
У питанні я спеціально попросив рішення, яке працювало без жодного teeразу lessвже було відкрито.
Flimm
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.