Wie installiere ich dos2unix unter Linux ohne Root-Zugriff?
On Februar 12, 2021 by admin $uname -a
Linux vm-** 2.6.32-573.8.1.el6.x86_64 #1 SMP Fri Sep 25 19:24:22 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
Ich habe dos2unix-7.3.3-win32.zip heruntergeladen und entpackt. Unter dem Ordner bin aus der entpackten Datei habe ich dos2unix.exe
Wie installiere ich dos2unix unter Linux?
Ich kann yum install dos2unix
da ich nicht & bin, kann ich keinen Root-Zugriff erhalten.
Antwort
Andere Antworten zeigen, wie Sie dos2unix
herunterladen und kompilieren. Wenn Sie jedoch nur Dateien von Zeilenenden im DOS-Stil (CR-LF) in Zeilenenden im Unix-Stil konvertieren möchten, Es gibt mehrere andere Ansätze, bei denen nichts installiert werden sollte:
-
, wenn Sie
tr
haben:tr -d "\r" < input > output
-
, wenn Sie Perl haben:
perl -pi -e "s/\r\n/\n/g" input
(wodurch die Datei direkt konvertiert wird , wie
dos2unix
) -
, wenn Sie
sed
:haben
sed -i "s/^M$//" input
wo Sie „ Strg V drücken, dann Strg M , um
^M
zu erhalten.
Kommentare
- +1. Ich habe viele Dateien in meinem Verzeichnis. Ich führe
find . -type f -exec dos2unix {} \;
aus. In Ihrem Beispiel fürtr
undsed
, wie kann ich dies erreichen? viele Dateien? - Ich würde ' in diesem Fall nicht die Version
tr
verwenden, sondernsed
,find . -type f -exec sed -i 's/^M$//' {} \;
sollte funktionieren. Besser noch,find . -type f -print 0 | xargs -0 sed -i 's/^M$//'
, das bei jeder Ausführung vonsed
so viele Dateien wie möglich verarbeitet. - Und wenn Sie müssen ' keine Dateien in Unterverzeichnissen verarbeiten,
sed -i 's/^M$//' *
würde genauso gut funktionieren. - In meiner Eingabe Datei Ich habe 2 Datensätze. Beide Datensätze enthalten das Zeichen
^M
. Wenn ichsed -i 's/^M$//' input > output
ausführe, enthält meineoutput
-Datei 0 Datensätze. Ich denke,sed
entfernt den Datensatz, der^M
enthält. Stattdessen möchte ich, dass der Datensatz beibehalten wird, aber nur^M
entfernt wird. - Ich habe gerade herausgefunden, dass
sed -i 's/\r//' *
funktioniert. Lassen Sie mich wissen, ob es einen besseren Weg gibt.
Antwort
Zunächst haben Sie eine ausführbare dos2unix-Datei heruntergeladen für Windows (dos2unix-7.3.3- win32 .zip), was Sie nicht sind möchten, weil Sie Linux verwenden.
Laden Sie den Quellcode für dos2unix für Linux herunter und extrahieren Sie ihn in Ihr Ausgangsverzeichnis:
mkdir $HOME/bin/ tar -zxvf dos2unix-7.3.3-src.tar.gz # the exact name of the downloaded file may vary cd dos2unix-7.3.3 ./configure --prefix=$HOME/bin/ make make install
Wenn alles gut geht, finden Sie eine dos2unix-Datei irgendwo in Ihrem $ HOME / bin -Verzeichnis. Sie können diese neue Installation verwenden, indem Sie
$ ~/bin/dos2unix windows_formatted_file.txt
Antwort
eingeben Laden Sie den Quellcode herunter und kompilieren Sie ihn.
Hier ist der Quellcode.
So entpacken Sie ihn: ( VERSION entspricht der Version, die Sie heruntergeladen haben)
tar xvf dos2unix-VERSION.tar.gz
Endlich ausführen:
make
Wenn die Kompilierung erfolgreich war, wird eine ausführbare Datei mit den Namen dos2unix und unix2dos angezeigt.
Antwort
Laden Sie dos2unix-7.3.3.tar herunter .gz.
tar xvzf dos2unix-7.3.3.tar.gz cd dos2unix-7.3.3 make install prefix=$HOME
Dadurch wird dos2unix in $ HOME / bin / installiert.
Weitere Informationen finden Sie unter INSTALL.txt.
Antwort
Sie müssen das spezifische RPM von der Betriebssystem-Website herunterladen. Laden Sie für CentOS beispielsweise die RPM-Datei von http://vault.centos.org/
herunter
Schreibe einen Kommentar