Vous pouvez utiliser tr
pour convertir du DOS à Unix, vous ne pouvez le faire en toute sécurité que si CR n'apparaît dans votre fichier que comme le premier octet d'une paire d'octets CRLF. C'est généralement le cas. Vous utilisez alors :
tr -d '\015' <DOS-file >UNIX-file
Notez que le nom DOS-file
est différent du nom UNIX-file
; si vous essayez d'utiliser deux fois le même nom, vous vous retrouverez sans données dans le fichier.
Vous ne pouvez pas le faire dans l'autre sens (avec le "tr" standard).
Si vous savez comment entrer un retour chariot dans un script ( control-V , control-M pour entrer le contrôle-M), puis :
sed 's/^M$//' # DOS to Unix
sed 's/$/^M/' # Unix to DOS
où "^M" est le caractère "control-M". Vous pouvez également utiliser le caractère bash
Cotation ANSI-C pour spécifier le retour chariot :
sed $'s/\r$//' # DOS to Unix
sed $'s/$/\r/' # Unix to DOS
Question : pourquoi ne pouvez-vous pas obtenir dos2unix
et unix2dos
installé (ou dtou
et utod
) ? Ou s'agit-il d'une restriction imposée par la personne qui fixe les devoirs ?