conversion retour chariot UNIX > DOS - DOS > UNIX
Bonjour,
je souhaite créer un script qui permet de convertir les retours chariots unix et dos.
j'ai réalisé un premier script qui fonctionne correctement et qui permet de convertir les retours chariots UNIX en DOS :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
#!/usr/bin/perl
###conversion retour chariot UNIX (LF) en DOS (CRLF)
###lecture et ecriture des fichiers en UTF8
open IN, "<:encoding(UTF-8)", "$ARGV[0]";
open OUT, ">:encoding(UTF-8)", "testOutDos.txt";
$/=undef;
while($ligne = <IN>)
{
s/\n/\r/g;###conversion retour chariot unix en DOS
print OUT $ligne;
}
close; |
le second script devrait convertir les retours chariots DOS en UNIX mais il ne fonctionne pas :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
#!/usr/bin/perl
###conversion retour chariot DOS (CRLF) en UNIX (LF)
###lecture et ecriture des fichiers en UTF8
open IN, "<:encoding(UTF-8)", "$ARGV[0]";
open OUT, ">:encoding(UTF-8)", "testOutUnix.txt";
#$/=undef;
while($ligne = <IN>)
{
s/\r/\n/g;###conversion retour chariot DOS en UNIX
print OUT $ligne;
}
close; |
typiquement \n est traduit par LF
et \r par CR
dans la pratique mon premier script fonctionne mais le second non.
si vous avez une idée merci.