|
|
|
|
Hello,
Je remplace tous les espaces composés de min. 5 espaces par ";" : avec la commande sed :
sed "s/ \{,5\}/;/g" fich1.txt>fich2.txt
Mais je dois introduire une restriction supplémentaire : Càd la même action qu'ici avant mais en ignorant les 50 premiers caractères??
Je sais que l'on peut dire à sed d'adresser les occurences mais ici ce n'est pas a partir de la 2 ou 3ème occurence mais à partir du 50ème caractère...
D'avance merci.
Configuration: Windows XP Internet Explorer 7.0
Salut,
sed -r 's/[ ]{5,}/;/g'Mais bon si ça marche chez toi...
Ensuite histoire qu'on s'entende bien, peux-tu s'il te plaît poster un bout de ton fichier d'entrée ainsi qu'un aperçu du résultat escompté, merci. ;-)) Z'@+...che. JP : Zen, my Nuggets ! ;-) Le savoir n'est bon que s'il est partagé. |
Bonjour jipicy et les autres!!!
|
<code>
|
Avant traitement : Ref0044 arezdvfhjfugyuo zz dat1 1236 dat2 8886 dat3 9999 Ref0114 arezdvfjgdfkhgk mm dat1 1236 dat2 8886 dat3 9999 Ref0124 arrrrrruioyhyugi er dat1 1236 dat2 8886 dat3 9999 Après traitement : Ref0044 arezdvfhjfugyuo zz dat1;1236;dat2;8886;dat3 9999 Ref0114 arezdvfjgdfkhgk mm dat1;1236;dat2;8886;dat3 9999 Ref0124 arrrrrruioyhyugi er dat1;1236;dat2;8886;dat3 9999 |
[jp@MDK tmpfs]$ cat exemple.txt
Ref0044 arezdvfhjfugyuo zz dat1 1236 dat2 8886 dat3 9999
Ref0044 arezdvfhjfugyuo zz dat1 1236 dat2 8886 dat3 9999
Ref0044 arezdvfhjfugyuo zz dat1 1236 dat2 8886 dat3 9999
[jp@MDK tmpfs]$ sed -e :loop -e 's/^\(.\{53,\}\)[ ]/\1;/;tloop' -e 's/;\+/;/g' exemple.txt
Ref0044 arezdvfhjfugyuo zz dat1;1236;dat2;8886;dat3;9999
Ref0044 arezdvfhjfugyuo zz dat1;1236;dat2;8886;dat3;9999
Ref0044 arezdvfhjfugyuo zz dat1;1236;dat2;8886;dat3;9999
[jp@MDK tmpfs]$ ;-))
Z'@+...che. JP : Zen, my Nuggets ! ;-) Le savoir n'est bon que s'il est partagé. |
Merci jipicy,
|