Frage

Ich habe eine Datei, die von EBCDIC in ASCII umgewandelt wurde. Wo es verwendet, um neue Linien zu sein gibt es jetzt Zeichen, die als <85> zeigen (ein Symbol ein einzelnes Zeichen darstellt, nicht die vier Zeichen scheint es zu sein) und die gesamte Datei ist auf einer Linie. Ich möchte für sie suchen und ersetzen sie alle mit neuen Linien wieder, aber ich weiß nicht, wie.

Ich habe versucht, den Cursor über ein Putting und mit * für das nächste Ereignis zu suchen, in der Hoffnung, dass es in meinem / Suchverlauf auftauchen könnte. Das hat nicht funktioniert. Es durchsucht nur für das Wort, das die <85> Zeichen folgt.

gegoogelt ich um einige, aber nicht alles klar sehen.

Mein Ziel ist es, eine Suche zu bauen und ersetzen Zeichenfolge wie:

:%s/<85>/\n/g   

, die derzeit nur gibt mir:

E486: Pattern not found: <85>  

Danke!

War es hilfreich?

Lösung

von einer google-Suche. Scheint, wie sollten Sie tun können:

:%s/\%x85/\r/gc

(Auslassen der c den Austausch zu tun, ohne Aufforderung, versuchen mit c zuerst sicherstellen, dass es das tut, was Sie wollen, dass es zu tun.)

In Vim gibt Typisierung :h \%x weitere Details. Neben \%x können Sie \%d, \%o, \%u und \%U für Dezimal, Oktal, bis zu vier und bis zu acht hexadezimalen Zeichen verwendet werden.

Andere Tipps

versuchen, dieses: :%s/<85>/^M/g

Hinweis: drücken Sie Strg-V zusammen dann M

oder, wenn Sie nichts dagegen haben ein anderes Werkzeug verwenden,

awk '{gsub("<85>","\n")}1' file
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top