|
|
|
|
"Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
Salut
Ben j'ai pas de quoi tester, mais si tes caracteres sont \x5c etc. il faut que l'expression reguliere soit du type \\x5C il me semble non ? ++ ...Mana mana Tutudutu... |
Merci de t'être déplacé, je commençais à désespérer !
sed "s/\\x5c\\x0a//" fait que dalle ! En fait, je veux juste supprimer la fin d'une ligne qui contient \ et new-line (pour 'replier' la ligne suivante) Je suis toujours sous AIX 4.3... :-) A+ Blux "Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
|
Ben en fait, je veux pas supprimer TOUS les retour chariots, seuleemnt ceux qui sont après un \, qui veut dire 'suite'.
Ma commande est dans un shell et c'est la sortie d'un sous-système que je veux reformater avant envoi sur l'écran via un more, ça donne un truc comme ça : /usr/bin/nsradmin <<fin 2>&1 | sed "s/\\x5c\\x0a//" | more show last start;completion;name;status print type:NSR group;name:$GROUP quit fin J'ai essayé avec TR de remplacer temporairement ces car par des car inutilisés puis de faire un sed pour les supprimer, mais je n'ai aucun résultat en sortie... A+ Blux "Les cons, ça ose tout. C'est même à ça qu'on les reconnait"
|
j'm'en vas, la suite demain...
A+ Blux "Les cons, ça ose tout. C'est même à ça qu'on les reconnait" |
Salut,
Essaie ça : sed -e 's/\\x5c//' -e 's/\\x0a//' Z'@+...che. JP : Zen, my Nuggets ! ;-)
|
Hello Blux,
La solution est peut-être de ne pas utiliser sed :) Je stockerai le résultat de ta commande dans un fichier output.txt, et j'utiliserai vim pour traiter le contenu dans sa globalité : vim -c "1,$ s/\\\n//g|wq" output.txt Te donne un output.txt corrigé. Celà suppose bien évidemment que le newline suive immédiatement le caractère \. Ceci dit, on doit pouvoir améliorer la syntaxe pour couvrir les cas où il y a des espaces, ou des caractères non-alphanumériques. Sinon, juste une petite remarque... "\\" fonctionne très bien, même avec sed pour matcher "\", pas besoin de codes hexa. En revanche, en ce qui concerne newline, mon "man sed" sur FreeBSD 4.9 me dit que sed ne va traiter que la ligne qu'on lui donne à l'exception du newline final, et qu'après traitement, il rajoute le newline... tu as donc au final toujours une ligne... ou alors j'ai raté un truc :) Enfin, si tu trouves ta syntaxe de malade avec sed.. je suis preneur aussi :) Dal PS : merci à vi4ever qui a signalé cette utilisation de vi sur ce forum, il y a quelques jours. C'est une utiisation de vi très astucieuse ! |
vi, je penchais plus pour autre chose que sed, mais j'aurais plutot regardé vers gwak qui travail sur des flux comme sed ;)
j'ai regardé vite fait, mais avec peu de moyens, je jeterai un oeil plus tard dessus :) ...Mana mana Tutudutu...
|