enlever les espaces en fin de ligne [script] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 28-09-2005 à 10:50:20
ReplyMarsh Posté le 28-09-2005 à 10:59:57
ReplyMarsh Posté le 28-09-2005 à 11:01:42
je ne sais que dire...  
 
 
| Code : 
 | 
 
 
manu@ferment:~$ echo -e "yop  \ntruc\t\t" |  sed 's/\s\+$//' | hexdump -c 
0000000   y   o   p  \n   t   r   u   c  \n 
0000009
Marsh Posté le 28-09-2005 à 11:36:56
euh moi ce que je voudrais par exemple c'est que si j'ai ça : 
|   | 
 
 
(sans les " " qui ne sont là que pour marquer le début et la fin de la ligne) 
 
je voudrais que ça devienne : 
 
|   | 
 
Marsh Posté le 28-09-2005 à 12:06:13
| freewol a écrit : euh moi ce que je voudrais par exemple c'est que si j'ai ça :  
   
 | 
 
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
Marsh Posté le 28-09-2005 à 13:01:28
ReplyMarsh Posté le 28-09-2005 à 13:03:15
bon effectivement ça marche, désolé j'avais du mal taper la commande la dernière fois  
 
 
merci 
Marsh Posté le 28-09-2005 à 13:07:32
| minusplus a écrit : wé je sais, c'est un réflexe que j'ai...  | 
 
bah mauvais réflexe. ça t'aurais évité d'expliquer le cat
Marsh Posté le 28-09-2005 à 13:12:07
| 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... 
Marsh Posté le 28-09-2005 à 14:39:25
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 
Marsh Posté le 28-09-2005 à 14:44:00
| 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  | 
 
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)
Marsh Posté le 28-09-2005 à 15:00:27
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
Marsh Posté le 28-09-2005 à 15:45:19
ah bah voilà ça ça marche parfaitement  
 
 
merci pour tous ces efforts 
Marsh Posté le 28-09-2005 à 16:57:33
| l0ky a écrit : cat test.txt | sed s/' '\$//g > res3.txt  | 
 
 
| Code : 
 | 
 
 
on peut la remplacer par : 
 
| Code : 
 | 
 
 
L'option "-i" permet d'écrire directement dans le fichier. 
 
C'est juste pour info.   
  
Marsh Posté le 28-09-2005 à 10:34:47
Je cherche un script qui enlève tous les espaces en fin de ligne d'un fichier texte.

Merci