Supprimer le dernier \\n d'un fichier

Résolu
mu93 -  
mu93 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je cherche à supprimer le dernier caractère \n d'un fichier, tout en conservant tous les autres, sachant que je ne peux utiliser que les commandes shells proposées par AIX 4.3. (pas de compilateur C)

si j'utilise un tr -d '\n', c'est trop radical, je perds tous les retours à la ligne

est-ce que mon cas est désespéré ?

Merci
A voir également:

2 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

avec perl ça ne marche pas?
lami20j@debserv:~$ cat fic
ch=a.chaine1,b.chaine2
ch1=a.chaine1,b.chaine2
ch2=c.chaine3
ch3=a.chaine4,b.chaine5,chiane6
etc...

lami20j@debserv:~$ perl -pi -e 's/\n// if eof' fic
lami20j@debserv:~$ cat fic
ch=a.chaine1,b.chaine2
ch1=a.chaine1,b.chaine2
ch2=c.chaine3
ch3=a.chaine4,b.chaine5,chiane6
etc...
lami20j@debserv:~$

1
mu93 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
c'est même diablement efficace !

Merci d'avoir répondu,
0
mu93 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
Finalement, j'ai trouvé quelque chose ==>

NB_LIG=`sed -n '$=' $1.tmp `
echo "nb de lignes ==> " $NB_LIG
awk -vlig=$NB_LIG '{printf("%s", $0); if (NR != lig) printf("\n" )}' $1.tmp >$1.out

mais est-ce que ce n'est pas un peu lourdingue ?
0