Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1841 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [script] enlever les espaces en fin de ligne

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[script] enlever les espaces en fin de ligne

n°735231
freewol
Ceci n'est pas une citation
Posté le 28-09-2005 à 10:34:47  profilanswer
 

Je cherche un script qui enlève tous les espaces en fin de ligne d'un fichier texte.
 
Merci :)

mood
Publicité
Posté le 28-09-2005 à 10:34:47  profilanswer
 

n°735232
l0ky
Posté le 28-09-2005 à 10:37:27  profilanswer
 

utilises sed

n°735233
minusplus
Posté le 28-09-2005 à 10:39:03  profilanswer
 

cat file | sed 's/\s+$//'

n°735238
freewol
Ceci n'est pas une citation
Posté le 28-09-2005 à 10:45:40  profilanswer
 

minusplus : ça ne fonctionne pas :/

n°735240
l0ky
Posté le 28-09-2005 à 10:46:50  profilanswer
 

message d'erreur :heink: ?

n°735243
freewol
Ceci n'est pas une citation
Posté le 28-09-2005 à 10:48:16  profilanswer
 

non juste ça ne fait rien :)

n°735244
jotenakis
Posté le 28-09-2005 à 10:48:19  profilanswer
 

aucun mais ça n'enlève pas les espaces.

n°735247
minusplus
Posté le 28-09-2005 à 10:50:20  profilanswer
 

sorry, j'ai loupé un \ :o
 
cat file | sed 's/\s\+$//'

n°735250
freewol
Ceci n'est pas une citation
Posté le 28-09-2005 à 10:59:57  profilanswer
 

minusplus a écrit :

sorry, j'ai loupé un \ :o
 
cat file | sed 's/\s\+$//'


 
caramba, encore raté ! :/

n°735252
minusplus
Posté le 28-09-2005 à 11:01:42  profilanswer
 

je ne sais que dire... :o
 

Code :
  1. manu@ferment:~$ echo -e "yop  \ntruc\t\t" |  sed 's/\s\+$//' | hexdump -c
  2. 0000000   y   o   p  \n   t   r   u   c  \n
  3. 0000009


 
manu@ferment:~$ echo -e "yop  \ntruc\t\t" |  sed 's/\s\+$//' | hexdump -c
0000000   y   o   p  \n   t   r   u   c  \n
0000009


Message édité par minusplus le 28-09-2005 à 11:02:27
mood
Publicité
Posté le 28-09-2005 à 11:01:42  profilanswer
 

n°735253
minusplus
Posté le 28-09-2005 à 11:02:16  profilanswer
 

c'est quoi ce con de forum qui bousille les \ :heink:

n°735265
freewol
Ceci n'est pas une citation
Posté le 28-09-2005 à 11:36:56  profilanswer
 

euh moi ce que je voudrais par exemple c'est que si j'ai ça :


"toto   "
"toto        "


 
(sans les " " qui ne sont là que pour marquer le début et la fin de la ligne)
 
je voudrais que ça devienne :
 


"toto"
"toto"


n°735283
minusplus
Posté le 28-09-2005 à 12:06:13  profilanswer
 

freewol a écrit :

euh moi ce que je voudrais par exemple c'est que si j'ai ça :


"toto   "
"toto        "


 
(sans les " " qui ne sont là que pour marquer le début et la fin de la ligne)
 
je voudrais que ça devienne :
 


"toto"
"toto"



ben c'est ce que je t'ai marqué au dessus... tu pipe ton fichier à travers un sed :
 
cat fichier_entrée | sed 's/\s\+$//' > fichier_sortie

n°735304
Taz
bisounours-codeur
Posté le 28-09-2005 à 12:52:01  profilanswer
 
n°735308
minusplus
Posté le 28-09-2005 à 13:01:28  profilanswer
 

Taz a écrit :

cat inutile.


wé je sais, c'est un réflexe que j'ai... :o

n°735310
freewol
Ceci n'est pas une citation
Posté le 28-09-2005 à 13:03:15  profilanswer
 

bon effectivement ça marche, désolé j'avais du mal taper la commande la dernière fois :sweat:
 
merci :)

n°735312
Taz
bisounours-codeur
Posté le 28-09-2005 à 13:07:32  profilanswer
 

minusplus a écrit :

wé je sais, c'est un réflexe que j'ai... :o


bah mauvais réflexe. ça t'aurais évité d'expliquer le cat

n°735314
minusplus
Posté le 28-09-2005 à 13:12:07  profilanswer
 

Taz a écrit :

bah mauvais réflexe. ça t'aurais évité d'expliquer le cat


wé mais j'les aime mes réflexes et ça m'dérange pas de les expliquer... :o

n°735349
freewol
Ceci n'est pas une citation
Posté le 28-09-2005 à 14:39:25  profilanswer
 

bon en fait le script fonctionne bien sur un vieu linux (une station sun je crois !), mais ni sur une debian sarge ni sur une redhat 9 :/
 
et d'autre part je ne comprends pas pourquoi le + doit être échappé ?
 
désolé d'être long à comprendre :/

Message cité 1 fois
Message édité par freewol le 28-09-2005 à 14:39:59
n°735350
minusplus
Posté le 28-09-2005 à 14:44:00  profilanswer
 

freewol a écrit :

bon en fait le script fonctionne bien sur une vieille sun (!), mais ni sur une debian sarge ni sur une redhat 9 :/
 
et d'autre part je ne comprends pas pourquoi le + doit être échappé ?
 
désolé d'être long à comprendre :/


parce que quelqu'un a eu la bonne idée de définir des regular expression POSIX "standard" (ou basiques) et POSIX "extended", celles de perl, celles de vim, etc...
 
donc des fois faut mettre + des fois faut mettre \+. Essaye les deux sous debian, un des deux devrait marcher. Si tu veux être certain de ce que tu fais, tu passe en perl. Les regexp de perl sont très bien documentées (man perlre et man perlop)

n°735352
freewol
Ceci n'est pas une citation
Posté le 28-09-2005 à 14:49:41  profilanswer
 

non sous debian ni l'un ni l'autre ne fonctionnent :/

n°735355
l0ky
Posté le 28-09-2005 à 15:00:27  profilanswer
 

cat test.txt | sed s/' '\$//g > res3.txt
 
Sous debian celle ci fonctionne (oui il y a le cat)
 
edit: elle enleve juste le denier espace

Message cité 1 fois
Message édité par l0ky le 28-09-2005 à 15:01:12
n°735357
minusplus
Posté le 28-09-2005 à 15:02:06  profilanswer
 

bon ben fait  
 
perl -pe 's/[[:blank:]]+$//' fichier
 
:o

n°735384
freewol
Ceci n'est pas une citation
Posté le 28-09-2005 à 15:45:19  profilanswer
 

ah bah voilà ça ça marche parfaitement :)
 
merci pour tous ces efforts :jap:

n°735415
lebarjoe
Posté le 28-09-2005 à 16:57:33  profilanswer
 

l0ky a écrit :

cat test.txt | sed s/' '\$//g > res3.txt
 
Sous debian celle ci fonctionne (oui il y a le cat)
 
edit: elle enleve juste le denier espace


 

Code :
  1. cat test.txt | sed s/' '\$//g > res3.txt


 
on peut la remplacer par :
 

Code :
  1. sed -i s/' '\$//g res3.txt


 
L'option "-i" permet d'écrire directement dans le fichier.
 
C'est juste pour info.  ;)  

n°735466
matafan
Posté le 28-09-2005 à 18:58:46  profilanswer
 

Mais -i n'est pas standard.

n°735469
Taz
bisounours-codeur
Posté le 28-09-2005 à 19:08:55  profilanswer
 

bah alors perl -i :o

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  [script] enlever les espaces en fin de ligne

 

Sujets relatifs
Ligne de commande GRUB pour demarrer un deuxieme linux[Debian] [Résolu] bloqué à cause d'un mauvais script de démarrage !
parcourir un fichier ligne par ligne avec SED ?sed supprimer une ligne
Script bash, petite question[Résolu] Impossible d'exécuter un script sur un disque rajouté.
insertion d'une ligne en fin de fichier avec sedprobleme script renommage
Script Psybnc 
Plus de sujets relatifs à : [script] enlever les espaces en fin de ligne


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR