Supprimer le dernier \\n d'un fichier

Résolu
mu93 -  
mu93 Messages postés 2 Statut Membre -
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 21644 Statut Modérateur, Contributeur sécurité 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 Statut Membre
 
c'est même diablement efficace !

Merci d'avoir répondu,
0
mu93 Messages postés 2 Statut Membre
 
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