Zapisuj wiersze do pliku z mniej

17

Podczas gdy vimmogę napisać zakres wierszy z pliku, który przeglądam, do innego pliku. Na przykład,

:1,10 w outfile.txt

zapisze wiersze od 1 do 10 do pliku outfile.txt.

Czy mogę zrobić to samo podczas przeglądania pliku przy użyciu less?

eebbesen
źródło

Odpowiedzi:

17
10Gmm1G|mcat > outfile.txt

(wpisany w środku less) wydaje się działać, dopóki dane wejściowe nie mieszczą się w jednym ekranie (w takim przypadku wszystkie dane wejściowe kończą się outfile.txtz jakiegoś powodu).

  • 10G doprowadza cię do linii 10
  • mmustawia mtam znak
  • 1G(tak jak gw tym przypadku) prowadzi do wiersza 1
  • |m potok od bieżącej linii do oznaczenia m
  • cat > outfile.txt: jest przesyłane do tego polecenia.
Stéphane Chazelas
źródło
Musiałem wkleić polecenie w wierszu polecenia, ponieważ pisanie 10Gdoprowadziło mnie do 10. wiersza, zanim mogłem wpisać resztę, ale rzeczywiście zadziałało.
eebbesen
2
@eebbesen, cóż, o to właśnie chodziło. Zobacz moją edycję
Stéphane Chazelas
Dziękujemy za wyjaśnienie @StephaneChazelas (a także za wstępną odpowiedź) - teraz jest jasne.
eebbesen
1
genialny na ratunek ponownie :)
Ramesh
4

Możesz użyć viewtego samego covi -r

X Tian
źródło
4
To zadziała, ale w przypadku dużych plików wolę używać less- to moje rozumowanie vipowoduje, że cały plik ładuje się jednocześnie.
eebbesen