[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.
A voir également:
- [Shell] Modification de caracteres
- Suivi de modification word - Guide
- Classic shell - Télécharger - Personnalisation
- Caractères spéciaux - Guide
- Caractères ascii - Guide
- Logiciel gratuit modification pdf - Guide
5 réponses
Salut,
Voici une piste avec awk (peut-être un peu barbare mais bon ...)
Bon courage
Gorki
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 :
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 :)
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