Tüm satırları daha az bir dosyaya nasıl yazarım?


76

Bir komutu pipetledim lessve şimdi komutun çıktısını bir dosyaya kaydetmek istiyorum. Bunu nasıl yaparım?

Bu durumda kullanmak teeistemiyorum, doğrudan daha azından bir çözüm istiyorum, kullanmayı unuttuğumda uzun süren bir komutu tekrar çalıştırmak zorunda kalmam tee.

: Bu soru buna benzer, tek fark ben hatları değil, bir alt kümesi tüm kaydetmek istediğiniz olmasıdır az bir dosyaya satırları yazın

Yanıtlar:


106

Gönderen less, yazın sardından o zaman, kaydetmek istediğiniz dosya adını yazın Enter.
Sayfadan man, altındaki COMMANDS:

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

manSayfa ayrıca, kendi kurulumunuza bağlı olarak, skomutun kullanılamayabileceğini belirtir . Bu durumda, 1. satıra şu yollarla gidebilirsiniz:

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

ve içeriğin tamamını şu şekilde yayınlayın 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.

bu yüzden ya:

g|$cat > filename

veya:

<|$cat > filename

yani yazın gya da <( g ya da daha az ) | $( sonra boruyu dolar ) cat > filenameve sonra yazın Enter.
Bu, girişin bir boru ya da sıradan bir dosya olup olmadığına bakmalıdır.


0

Bu olmadan yapmanın bir yolu teeaşağıdaki gibidir.
less /path/to/input > /path/to/output
Yukarıda /path/to/outputmevcutsa yukarıdakilerin üzerine yazılacaktır .

Aynısını yapmak, ancak eklemek için /path/to/outputaşağıdaki gibidir.
less /path/to/input >> /path/to/output

Metni lessaçtıktan sonra kaydetmek için Dosyayı Kaydet özelliğini kullanabilirsiniz.
İçerideyken less, tuşuna basın s. Ardından, dosya adını yazın.
Bir boru kullandıysanız, dosya otomatik olarak Çalışma Dizini'ne yazılır.
Bir boru kullanmadıysanız, metnini içeren bir dosya açarsınız (bunun için kaydedebilirsiniz).
Dosyanın açılacağına inanıyorum vim.


4
lessDaha önce açmış olduğum bir andan itibaren bir çözüm istiyorum less.
Flimm

Anlıyorum. Yanlış anlaşılma için üzgünüm. Cevabımı güncelledim.
nehcsivart

-2

Daha az kullanmazsınız, tee ve daha sonra pipo tee kullanırsınız.

./program | tee program.out | less


5
Söz, ben özellikle olmadan çalışan bir çözüm için sorulan teebir kez lesszaten açılmış.
Flimm
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.