Schreiben Sie Zeilen aus weniger in eine Datei

17

Während vimich in bin, kann ich eine Reihe von Zeilen aus der angezeigten Datei in eine andere Datei schreiben. Beispielsweise,

:1,10 w outfile.txt

schreibt die Zeilen 1 bis 10 in die Datei outfile.txt.

Kann ich dasselbe tun, während ich eine Datei mit ansehe less?

eebbesen
quelle

Antworten:

17
10Gmm1G|mcat > outfile.txt

(Eingegeben in less) scheint zu funktionieren, solange die Eingabe nicht in einen Bildschirm passt (in diesem Fall endet die gesamte Eingabe outfile.txtaus irgendeinem Grund).

  • 10G bringt dich zur Linie 10
  • mmsetzt dort die mMarke
  • 1G(genau wie gin diesem Fall) bringt Sie zu Zeile 1
  • |m Pipe von der aktuellen Zeile zur Markierung m
  • cat > outfile.txt: das ist zu diesem Befehl weitergeleitet.
Stéphane Chazelas
quelle
Ich musste den Befehl an der Eingabeaufforderung einfügen, weil 10Gmich die Eingabe in die 10. Zeile brachte, bevor ich den Rest eingeben konnte, aber es hat tatsächlich funktioniert.
Ebbesen
2
@eebbesen, na das war der Punkt. Siehe meine Bearbeitung
Stéphane Chazelas
Vielen Dank für die Klärung von @StephaneChazelas (sowie für Ihre erste Antwort) - es ist jetzt klar.
Ebbesen
1
Genie wieder zur Rettung :)
Ramesh
4

Sie könnten verwenden, viewwas das gleiche ist wievi -r

X Tian
quelle
4
Das wird funktionieren, aber für große Dateien bevorzuge ich less- es ist mein Verständnis, vidass die gesamte Datei auf einmal geladen wird.
Ebbesen