Gibt es einen Bash-Befehl zum Konvertieren von \ r \ n nach \ n?
Wenn ich meine Skripte von Windows nach Linux hochlade, benötige ich ein solches Dienstprogramm, damit die Dinge funktionieren.
linux
bash
newlines
carriage-return
user25321
quelle
quelle
dos2unix
ist in der Regel verfügbar, sonstsed -e 's/\r$//'
dos2unix
gibt ein Unix / Linux-Programm, mit dem Sie tun können, was Sie wollen.Antworten:
Es gibt:
quelle
Translate ( tr ) ist in allen Unixen verfügbar:
quelle
\r
werden. Sie sind jedoch sehr ungewöhnlich.Mit sed und finde das Ende mit
.txt, .php, .js, .css
:quelle
Es gibt ein Unix-Dienstprogramm
conv
, das Zeilenenden konvertieren kann. Es wird häufig mit Softlinks zuu2d
oderd2u
oderunix2dos
oder aufgerufendos2unix
.Zusätzlich gibt es Hilfsprogramme namens
fromdos
undtodos
.quelle
Verwenden von man 1 ed (das Dateien ohne vorherige Sicherung bearbeitet - im Gegensatz zu: sed .. -i ".bak" ...):
quelle
Dies mit POSIX zu tun, ist schwierig:
POSIX Sed unterstützt
\r
oder nicht\15
. Selbst wenn dies der Fall-i
ist , ist die In-Place-Option nicht POSIXPOSIX Awk unterstützt
\r
und\15
die-i inplace
Option ist jedoch nicht POSIXd2u und dos2unix sind keine POSIX-Dienstprogramme , aber ex ist
POSIX ex nicht unterstützt
\r
,\15
,\n
oder\12
So entfernen Sie Wagenrückläufe:
So fügen Sie Wagenrückläufe hinzu:
quelle
Ja, benutze
dos2unix
. Beispielsweise:quelle
(Beide existieren auch für Nicht-Ubuntu-Systeme, aber diese Links sind praktisch.)
quelle