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?

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.

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


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.