Bonjour !
Quelqu'un connaît-il une commande pour changer les CR/LF des fichiers texte DOS vers la convention Unix (LF seul il me semble) pour faire du traitement par lots?
# IN UNIX ENVIRONMENT: convert DOS newlines (CR/LF) to Unix format
sed 's/.$//' # assumes that all lines end with CR/LF
sed 's/^M$//' # in bash/tcsh, press Ctrl-V then Ctrl-M
sed 's/\x0D$//' # gsed 3.02.80, but top script is easier
# IN UNIX ENVIRONMENT: convert Unix newlines (LF) to DOS format
sed "s/$/`echo -e \\\r`/" # command line under ksh
sed 's/$'"/`echo \\\r`/" # command line under bash
sed "s/$/`echo \\\r`/" # command line under zsh
sed 's/$/\r/' # gsed 3.02.80
# IN DOS ENVIRONMENT: convert Unix newlines (LF) to DOS format
sed "s/$//" # method 1
sed -n p # method 2
# IN DOS ENVIRONMENT: convert DOS newlines (CR/LF) to Unix format
# Can only be done with UnxUtils sed, version 4.0.7 or higher.
# Cannot be done with other DOS versions of sed. Use "tr" instead.
sed "s/\r//" infile >outfile # UnxUtils sed v4.0.7 or higher
tr -d \r outfile # GNU tr version 1.22 or higher
# perl
Posté par kesako . Évalué à 3.
ou
perl -pi.bak -e "s/\r//g;" *.txt
si tu veux grader une copie xxx.txt.bak des fichiers originaux
[^] # Re: perl
Posté par tao popus . Évalué à 1.
dos->unix
tr -d '\r' <fichierdos.txt >fichierunix.txt
et de la meme facon:
mac->unix
tr '\r' '\n' <fichiermac.txt >fichierunix.txt
unix->mac
tr '\n' '\r' <fichierunix.txt > fichiermac.txt
On ne convertit pas vers le format DOS, car ca n'est jamais une finalité, ca ne peut être qu'un point de départ ;)
# dos2unix
Posté par kolter (site web personnel, Mastodon) . Évalué à 8.
M.
[^] # Re: dos2unix
Posté par Boa Treize (site web personnel) . Évalué à 5.
# Sed one-liners
Posté par Khâpin (site web personnel) . Évalué à 4.
# Voila ce qu'il te faut ...
Posté par Stephane COLIN (site web personnel) . Évalué à 1.
A++
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.