[TXT] Supprimer le dernier caractère

Khalzaam -  
lami20j Messages postés 21644 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour à tous,

J'ai un soucis sur un fichier texte.
Il est généré par SQLplus, et je me retrouve avec des lignes de 362 caractères, là où il ne m'en faut que 361. Il rajoute un caractère "blanc" à chaque fin de ligne ...
Du coup, je cherche une commande qui me permettrait de supprimer ce dernier caractère à chaque fin de ligne.
Si quelq'un avait la réponse, ça m'éaiderait énormément !

Merci d'avance !
A voir également:

2 réponses

kilian Messages postés 8854 Statut Modérateur 1 526
 
Salut,

Une commande en quel langage?
0
lami20j Messages postés 21644 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

A ne pas oublié qu'une ligne est une chaîne avec un caractère de fin de ligne :

Linux \n
Win \r\n

Exemple :

Je crée un fichier à la volée qui contiendra la lettre 'a', 361 fois
$ perl -e 'print "a" x 361' > vider
j'affiche sa longueur
$ perl -ne 'print length,"\n"' vider
361
j'ajoute une autre chaîne (pas ligne)
$ perl -e 'print "b" x 361' >> vider
et je compte
$ perl -ne 'print length,"\n"' vider
722
Maintenant je vais créer des lignes de 361 caractères + caractère fin de ligne donc 362
$ perl -e 'print "a" x 361,"\n"' > vider
$ perl -e 'print "b" x 361,"\n"' >> vider
$ perl -ne 'print length,"\n"' vider
362
362
Le résultat 362 est normal.
Si j'ai besoin que de la chaîne il me reste à enlever le caractère nouvelle ligne
$ perl -ne 'print length(substr($_,0,length($_)-1)),"\n"' vider
361
361

Et les chaines de 361 caractères affichées (j'ai mis la longueur en 1er et j'ai ajoute dans print un \n pour affichage sinon l'affichage est un chaine de 361 * 2 caractères.
lami20j@debian:~/trash$ perl -ne 'print length($1),$1,"\n" if /(.*)\n/' vider
361aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
361bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

C'est à titre d'exemple et pas pour apprendre Perl.

lami20j
0