Ich benutze Ubuntu und versuche, alle 100 Zeilen aus dem vi
Editor zu löschen, aber ich habe die Frage, ob ich das mit einem Befehl machen soll.
command-line
vi
command
Mayur Mehta
quelle
quelle
echo -n > <file>
Entfernt alle Zeilen aus einer Datei (tatsächlich wird die Datei nur mit "" überschrieben).echo
überhaupt dafür zu verwenden;> $file
funktioniert gutvi
in einem Interview Fragen stellt ?vim-gtk
Geben Sie auf einem Computer mit installiertem vim (unter Ubuntu empfehle ich das Paket, da Sie dadurch Zugriff auf das xclipboard in vim erhalten)vimtutor
an der Befehlszeile (nicht in vim) ein, um ein interaktives Tutorial der Grundlagen zu erhalten. Es sollte nicht länger als eine halbe Stunde dauern und es ist die beste Anleitung für den Einstieg in vi / vim, die Sie wahrscheinlich finden werden.vi
(mündlich oder durch Lebenslauf) erwähnt hat oder wenn die Frage mit "Okay, als Sysadmin müssen Sie etwas über Kommandozeilen-Editoren wissen, richtig ? Sie haben verwendetvi
? "Antworten:
Tun Sie dies im normalen Modus
dd
löscht die aktuelle Zeile. Wenn Sie diesen Befehl voranstellen, wird100
er 100 Mal wiederholt.Wenn die Datei weniger als 100 Zeilen enthält, beginnend mit der aktuellen Zeile, werden je nach
vi
Implementierung entweder keine oder so viele wie vorhanden gelöscht. Diesvim
hängt davon ab, ob die Optioncp
akacompatible
aktiviert ist oder nicht.quelle
100dd
ist die richtige Antwort. Ich frage mich, was du machst.Löscht 100 Zeilen vorwärts (einschließlich) der aktuellen Zeile
wiederhole dd (aktuelle Zeile löschen) 100 mal:
Löscht von der aktuellen Zeile auf 99 Zeilen vorwärts
Lösche 100 Zeilen rückwärts (einschließlich) der aktuellen Zeile
Zeilen in einem bestimmten Bereich nach Zeilennummer löschen
Zeilen in einem Bereich löschen, der mit der aktuellen Zeile beginnt
usw. usw.
quelle
:.,+99d
Wenn alle Zeilen in der Datei gelöscht werden sollen, gibt der Befehl vi den Löschbereich an:
1
bezeichnet die erste Zeile und$
bezeichnet die letzte Zeilequelle
:%d
(in ":" Kontext, ":% ..." ist Abkürzung für ": 1, $ ...")d
G
tasten & rarr; Töte alle Inhalte von der aktuellen [zB obersten Zeile] bis zur untersten ZeileSie möchten alle Zeilen einer Datei löschen? Öffnen Sie die Datei mit
vi
. Während Sie sich am Anfang der ersten Zeile befinden - der Standardposition des Cursors beim Öffnen der Datei - drücken Sie Escgefolgt von dG.Zu beachten ist, dass die Aktion "
d
Löschen" undG
die letzte Zeile der Datei angibt. Während Sie auf eine beliebige Zeile drücken dG, wird die gesamte Zeile von der aktuellen bis zur letzten Zeile gelöscht.Wenn Sie wissen , welche aufeinanderfolgende Zeilen löschen - etwa von der Linie 101-200 - Typen in den folgenden Tastenkombinationen: Esc:101,200d.
quelle
Egal wo Sie sich in der Datei befinden, Sie können dies tun
ggdG
:%d
würde besser in weniger Tastendrücken tun. Nun, wenn man die Tastenshift
und zähltenter
, sind es tatsächlich zwei Tastendrücke mehr als oben.Wenn Sie so etwas tun, werden
100dd
nur bis zu 100 Zeilen von Ihrem aktuellen Standort aus gelöscht. Abhängig von Ihrer aktuellen Zeilenposition werden möglicherweise nicht alle Zeilen aus der Datei gelöscht.quelle
Esc n dd. n ist die Anzahl der zu löschenden Zeilen einschließlich der aktuellen Zeile. Drücken Sie die "Esc" -Taste, dann "n" und dann "dd". Zum besseren Verständnis
quelle