Wie mache ich das in vi?
%Vor%Ich möchte nur die ersten 10 Zeichen meiner Datumsspalte (Beispiel 2014-01-01) behalten und den Zeitstempel nicht enthalten.
Ich habe versucht, es in Awk zu tun, aber ich habe diesen Fehler:
%Vor%Ich glaube, es ist ein bash_profile Einstellungsfehler.
Das habe ich in meinem bash_profile:
%Vor%:%s/
: Übernehmen Sie die Ersetzung für alle Zeilen .\{,10}
: finde bis zu 10-mal alles (gierig) \zs
: gibt den Beginn der Übereinstimmung an .*
: Entspricht dem Rest der Zeile /
: Ende des ersten Teils von :s
/
: Ende des zweiten Teils von s
(da zwischen den beiden /
nichts ist, ersetze nichts, dh lösche) Zum Bearbeiten von Textblöcken gibt es einen -- VISUAL BLOCK --
-Modus, auf den über CTRL-V
(unter Windows normalerweise CTRL-Q
) zugegriffen werden kann. Dann können Sie d drücken, um Ihre Auswahl zu löschen.
Oder mit einem einfachen Ersatzbefehl
%Vor%\%>10c
- entspricht der zehnten Spalte .
- passt auf ein einzelnes Zeichen, aber nicht auf ein Zeilenende *
- entspricht 0 oder mehr des vorhergehenden Atoms, so viele wie möglich Oder Sie können den Bereich verwenden
%Vor%Dies würde die ersten drei Zeilen ersetzen.