[Shell] Modification de caracteres
Phil
-
Phil -
Phil -
Bonjour, voiçi une ligne d'un fichier :
Je voudrais placer un " f " au 22ième caractère. Je voudrais le faire automatiquement car c'est à appliquer à plusieur fichiers.
A la fin j'aimerais obtenir :
Quelqu'un à une idée ? peut-être avec sed mais je n'ai pas de caractère d'origine à remplacer puisque c'est un espace :(
Merçi d'avance.
2004/02/14 16:45:45.6 51.5263 16.1589 2.0 EMSC 00000165
Je voudrais placer un " f " au 22ième caractère. Je voudrais le faire automatiquement car c'est à appliquer à plusieur fichiers.
A la fin j'aimerais obtenir :
2004/02/14 16:45:45.6 f 51.5263 16.1589 2.0 EMSC 00000165
Quelqu'un à une idée ? peut-être avec sed mais je n'ai pas de caractère d'origine à remplacer puisque c'est un espace :(
Merçi d'avance.
Configuration: Windows XP Firefox 2.0.0.4
5 réponses
-
Salut,
Voici une piste avec awk (peut-être un peu barbare mais bon ...)
awk ' {Chaine1=substr($0,1,21) Chaine2=substr($0,23) print "Initial : "$0 print "Modifier : "Chaine1"f"Chaine2 print "\n"} ' fictest.txt
Bon courage
Gorki -
Salut,
Essaie ça :jp@MDK:~/tmpfs ssh$ cat plop 2004/02/14 16:45:45.6 51.5263 16.1589 2.0 EMSC 00000165 jp@MDK:~/tmpfs ssh$ sed -r 's/(^.{21})(.*)/\1 f\2/' plop 2004/02/14 16:45:45.6 f 51.5263 16.1589 2.0 EMSC 00000165 jp@MDK:~/tmpfs ssh$;-))
-
Merçi les gars d'avoir répondu aussi rapidement mais ça ne marche pas chez moi.
Si je met l'option -r j'ai le message : --r illegal option. Mauvaise version de sed ??!
j'ai essayé en mettant d'autre lettre mais j'ai le message command garbled.
Bon, je vais continuer dans cette voie en fouillant le man mais si vous avez une idée du problème n'hésitez pas à m'en faire part.
Merçi d'avance.
A plus :) -
Supprime l'option "-r" et protège les accolades et les parenthèses avec des antislahs :
sed 's/^\(.\{21\}\)/\1 f/' plop;-))
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
HA HA ! Super ! Ca marche nickel chrome.
Merçi beaucoup Jipicy, j'y arrivais pas du tout.
Phil.