wie zum entfernen von Strg-M Zeichen bei der übertragung von Dateien von Windows nach unix mit Tectia?
Möchte ich die übertragung von Dateien von Windows nach Unix mit Tectia. Aber das problem ist, wenn diese Dateien werden übertragen(Ascii-oder Binär-Modus beide) und eröffnet mit VI erhalten wir ^M-Zeichen.Ich suchte über diese, aber die Lösungen sind, um diese zu entfernen ^M Zeichen, wenn Dateien übertragen werden, mit utilites. Gibt es eine Möglichkeit, dass diese ^M-Zeichen werden nicht angezeigt in den ersten Platz.
InformationsquelleAutor Ravi Goklani | 2012-09-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie ich konnte, um es zu entfernen im vi-editor:
:%s/
dann drücken Sie die Taste Strg+V Strg+M. Dies wird Ihnen^M
//g
(wird das so Aussehen::%s/^M
) drücken Sie die Taste Enter sollten sich mit allen entfernt.Glück!
Das funktioniert einfach nicht, wenn Sie vi aus einem terminal in windows, da die steuerzeichen nicht die gleiche Weise funktionieren. Der dos2unix-Lösung ist am einfachsten, wenn Sie die Möglichkeit haben es zu installieren (ich habe es auf meinen Andockfenster dev-Umgebung)
InformationsquelleAutor Rajesh
Können Sie installieren und verwenden dos2unix. Nach der Installation führen Sie einfach:
Unix verwendet ein einzelnes Line Feed (LF) Zeichen als Zeilenumbruch. Windows/DOS verwendet 2 Zeichen: Carriage Return/Line Feed (CR/LF). Die Antwort ist also Nein, können Sie nicht beseitigen, die CR\LF (es sei denn, Sie schreiben Ihren text in einer Zeile).
Ich bin mir nicht bewusst, ein windows-tool, das solche Umbauten, aber da Sie verwenden
vim
dieser Artikel, die Sie interessieren könnten.dieser arbeitete für mich, ohne die
>
nur; d.h.dos2unix yourfile.txt
Die
>
ist nur das prompt-Zeichen 😉InformationsquelleAutor alfasin
Wenn Sie brauchen nur zu entfernen, die
^M
Zeichen (nicht ersetzen mit\n
):Wenn Sie möchten, ersetzen Sie Sie mit
\n
:InformationsquelleAutor JellicleCat
Versuchen Sie den folgenden in einem terminal (kann, muss es zuerst installieren):
eigentlich möchte ich nicht, läuft alles unter UNIX nachdem die übertragung abgeschlossen ist..kein Befehl,kein Programm etc....nur meine Datei übertragen werden sollen, von Windows zu Unix-ohne die ^M Zeichen
Dann müssen Sie sicherstellen, dass Sie die Datei auf UNIX-Datei-format vor dem senden der Datei über. Ich glaube, es ist die EOL (Zeilenenden), wodurch es, jeder vernünftige text-editor können Sie ändern, um das Zeilenende-Typ.
InformationsquelleAutor Quetzalcoatl
Ein weiterer trick, um entfernen Sie Strg+M im vi-editor:
Weitere trick, um entfernen Sie Strg+M - Zeichen
InformationsquelleAutor Vinoth
g
überhaupt nicht notwendig.%s
- suchen und ersetzen von text, u ersetzen möchten^V^M
ersetzt werden mit "sollte nach dem Doppel-slash" halten Sie es leer, wenn Sie wollen, zu ersetzen, mit nichtsInformationsquelleAutor Lakshminarayanan
Dank für alle Hilfe, alle. Ich löste dieses problem mit einem workaround.
Windows verwendet CR+LF (\r\n) als end-of-line & Unix verwendet LF (\n) als end-of-line.Ich nahm die Windows-Datei und ersetzt die CR+LF(\r\n) mit der LF(\n) im code selbst ohne utility.Dies machte die Datei kompatibel für Unix-Systeme ist und ich dann übertragen Sie die Datei mittels SFTP und es funktionierte auf Unix.
InformationsquelleAutor Ravi Goklani
Versuchen
InformationsquelleAutor Akshay