Bagaimana cara menulis semua baris dari kurang ke file?

76

Saya telah mengirim perintah ke pip less, dan sekarang saya ingin menyimpan output perintah ke file. Bagaimana aku melakukan itu?

Dalam hal ini, saya tidak ingin menggunakan tee, saya ingin solusi langsung dari kurang, sehingga saya tidak perlu menjalankan kembali perintah yang sudah berjalan lama jika saya lupa menggunakan tee.

Pertanyaan ini mirip dengan yang ini, satu-satunya perbedaan adalah bahwa saya ingin menyimpan semua baris, bukan subset: Tulis baris ke file dari kurang

Flimm
sumber

Jawaban:

106

Dari less, ketik slalu ketikkan nama file yang ingin Anda simpan, lalu Enter.
Dari manhalaman, di bawah COMMANDS:

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

manHalaman juga menyatakan bahwa, tergantung pada instalasi khusus Anda, sperintah itu mungkin tidak tersedia. Dalam hal ini, Anda dapat pergi ke baris 1 dengan:

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

dan pipa seluruh konten catdengan:

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

jadi:

g|$cat > filename

atau:

<|$cat > filename

yaitu jenis gatau <( g atau kurang dari ) | $( pipa lalu dolar ) lalu cat > filenamedan Enter.
Ini harus berfungsi apakah input adalah pipa atau file biasa.

don_crissti
sumber
0

Salah satu cara untuk melakukannya tanpa teeadalah sebagai berikut.
less /path/to/input > /path/to/output
Di atas akan menimpa /path/to/outputjika sudah ada.

Untuk melakukan hal yang sama, tetapi menambahkannya /path/to/outputadalah sebagai berikut.
less /path/to/input >> /path/to/output

Untuk menyimpan teks lesssetelah Anda membukanya, Anda dapat menggunakan fitur Simpan File.
Saat masuk less, tekan s. Kemudian, ketikkan nama file.
Jika Anda menggunakan pipa, file akan secara otomatis ditulis ke Direktori Kerja.
Jika Anda tidak menggunakan pipa, Anda akan membuka file dengan teks (yang dapat Anda simpan).
Saya yakin file tersebut akan dibuka vim.

nehcsivart
sumber
4
Saya ingin solusi dari lesssekali saya sudah membuka less.
Flimm
Saya melihat. Maaf atas kesalahpahaman ini. Saya telah memperbarui jawaban saya.
nehcsivart
-2

Anda tidak menggunakan lebih sedikit, Anda menggunakan tee dan kemudian tee pipa lebih sedikit.

./program | tee program.out | less

SailorCire
sumber
5
Dalam pertanyaan itu, saya secara khusus meminta solusi yang berfungsi tanpa teepernah lessdibuka.
Flimm