Sie fragen sich vielleicht, was ist der Zweck dieses Artikels? Warum eine Windows-Datei konvertieren, um sie an eine UNIX-Umgebung wie Linux anzupassen? Ist Linux nicht allmächtig? Die außergewöhnlichen Fähigkeiten des Linux-Betriebssystems bewahren es nicht vor inkompatiblen Anzeigen von Dateien, die von anderen Computerplattformen übertragen wurden.
Nur weil Sie eine Datei in einer Linux-Umgebung öffnen können, bedeutet das nicht, dass Sie die volle Kontrolle darüber haben, wie die Texte der Datei angezeigt werden sollen.
[Das könnte Ihnen auch gefallen:So finden Sie unter Linux Dateien, die eine bestimmte Textzeichenfolge enthalten]
Sie werden auf Fälle stoßen, in denen die Texte oder Wörter einer Datei in einer einzigen riesigen Zeile zusammengestaut werden. In anderen Fällen weisen die Anzeigen derselben Dateitexte möglicherweise keine Zeilenumbrüche oder Satzabstände auf.
Ein gemeinsames Attribut von Windows-Rohdateien, die in UNIX-Systemen wie Linux geöffnet werden, ist die unvermeidliche Anzeige von ^M
am Zeilenende oder Ctrl-M
Zeichen.
Dieser Artikelleitfaden versucht, ein Ziel zu erreichen; die Konvertierung einer Windows-Datei in eine UNIX-Datei, ohne das Format der resultierenden Datei zu ändern.
Möglichkeiten zum Konvertieren von Windows-Dateien in das Unix-Format unter Linux
Wir können das Ziel unseres Artikels durch mehrere Methoden erreichen. Diese Methoden ermöglichen es uns, eine Windows-Datei in eine UNIX-Datei zu konvertieren und trotzdem das ursprüngliche Format der Windows-Datei beizubehalten.
Konvertieren Sie Windows-Datei in Unix mit dem Befehl dos2unix
Abhängig von Ihrer Linux-Betriebssystemverteilung können Sie dos2unix installieren Befehlszeilentool aus einem der folgenden Befehle:
$ sudo apt-get install dos2unix [On Debian, Ubuntu and Mint] $ sudo yum install dos2unix [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux] $ sudo emerge -a sys-apps/dos2unix [On Gentoo Linux] $ sudo pacman -S dos2unix [On Arch Linux] $ sudo zypper install dos2unix [On OpenSUSE]
Die Befehlssyntax für die Verwendung des dos2unix-Tools lautet wie folgt:
$ dos2unix Your_Windows_File Final_Unix_File
Wenn Sie also eine auf einem Windows-Computersystem erstellte Beispieldatei haben und diese auf einem Linux-Computersystem öffnen möchten, ohne ihr Format zu beeinträchtigen, würden Sie den folgenden Befehl verwenden.
$ dos2unix windows_readme.txt unix_readme.txt
Bevor wir den obigen Befehl ausführen, müssen wir eine leere unix_readme.txt erstellen Datei, die die konvertierte Datei aufnehmen wird.
$ touch unix_readme.txt $ dos2unix windows_readme.txt unix_readme.txt
Gemäß der Bildschirmaufnahme sollte sich Ihre konvertierte Windows-Datei bequem an jede Unix-Umgebung anpassen.
Mit dem AWK-Befehl – Windows-Datei in Unix konvertieren
Das awk command ist auf allen modernen vollwertigen UNIX-Computersystemen wie Linux vorinstalliert. Um unsere Beispiel-Windows-Datei zu konvertieren, würden wir das awk implementieren Befehl folgendermaßen:
$ awk '{ sub("\r$", ""); print }' windows_readme.txt > new_unix_readme.txt
Wie Sie bemerkt haben, mit dem awk Befehl benötigen wir keine bereits vorhandene leere Linux-Datei, um die konvertierte Windows-Datei aufzunehmen. Der Befehl erstellt und füllt die Unix-Dateiversion der Windows-Datei selbst.
Mit dem tr-Befehl – Windows-Datei in Unix konvertieren
Wenn die meisten Windows-Dateien, die Sie in Ihrer Linux-Umgebung öffnen, über unnötiges Ctrl-Z
verfügen und Wagenrücklaufzeichen, dann werden Sie zu schätzen wissen, was das tr ist Befehl zu bieten hat.
Angenommen, unsere Beispiel-Windows-Datei ist ein Opfer solcher Zeichen, um sie zu entfernen, müssen Sie den folgenden Befehl implementieren:
$ tr -d '\15\32' < windows_readme.txt > polished_unix_readme.txt
Die eingebaute Natur des tr Der Befehl generiert auch die resultierende UNIX-Datei, ohne dass diese vorab erstellt werden muss.
Die Flexibilität der drei besprochenen Ansätze zum Konvertieren beliebiger bearbeitbarer Windows-Dateien in das UNIX-Dateiformat sollte Ihnen die Kopfschmerzen ersparen, Ihre heruntergeladenen oder übertragenen Windows-Dateien manuell bearbeiten zu müssen, um unerwünschte Zeichen und Leerzeichen zu entfernen, während Sie sich in einer Linux-Umgebung befinden.