[TXT] Supprimer le dernier caractère
Khalzaam
-
lami20j Messages postés 21506 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21506 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 !
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 !
2 réponses
-
Salut,
Une commande en quel langage? -
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