Résolu - Remplacer une colonne d'un fichier texte

Salut,

Je cherche à modifier le contenu d’un fichier.

Le format du fichier est assez spécial (format Tocar pour ceux qui connaissent).

Les champs ne sont pas séparés par des virgules, mais chaque colonne a un nombre précis de caractères qui lui sont alloués.

Par exemple :

Colonne 1 : début : 0, 3 caractères
Colonne 2 : début : 3, 10 caractères
Colonne 3 : début : 13, 7 caractères

Moi j’aimerais modifier la colonne à l’emplacement 29, et qui contient 4 caractères.

J’ai essayé

sed ‘s/^(.{28}).{4}(.*)/\11234\2/g’

les caractères 29 à 32 devraient donc être remplacés par 1234.

Forcément ça ne fonctionne pas…

Qui a une idée pour me dépanner ?

Merci !
Edité le 06/09/2007 à 22:43

J’arrive en faisant ainsi :

echo -n $(cut -c1-28 une_ligne.txt)1234$(cut -c33- une_ligne.txt)

Mais je pense qu’il y a mieux, non ?

Ok, c’était un prooblème avec les caractères spéciaux. ( { etc…

sed 's/^\(.\{28\}\).\{4\}\(.*\)/\11234\2/' eau_export.txt > eau_final.txt

tu nous met un - resolu - dans le titre STP ?

C’est interessant ton prob et merci pour la soluce (c’est toujours chiant les expressions rationnelles)

On dit pas plutôt expressions régulières ?

oups :paf:

Hahahha le troll :wink:

hheeuuu… gvim le fait, mais je sais pas comment :paf:

c’est un type au boulot qui m’a montré ça y’a un mois ou deux, tu sélectionnes une colonne, tu la copies, t’en sélectionnes une autre, tu colles !!!

Maintenant pour ce qui est du raccourci clavier qui fait ça… j’en sais rien du tout…
Edité le 06/09/2007 à 21:30

certains editeurs textes graphiques font aussi de la selection rectangulaire… ca peut etre utile dans des cas comme ca.

C’est déjà le deuxième topic que j’essaie de mettre un[Résolu], mais le nouveau forum il aime pas


pfff il accepte pas les " [ " dans le titre...

D’abord tu passe en mode “visuel” en pressant puis tu fait pour passer en sélection en mode bloc (sélection verticale).
Valable pour vim et gvim.

Non, les crochets ([ et ]) servent désormais aux tags j’ai l’impression (mais comme tu ne peux de toutes façons pas tagger ton topic avec tes propres tags…)
Fait comme moi, utilise : {Résolu} :wink:
Edité le 07/09/2007 à 02:47

merci pour l’info :wink: mais j’utilise kate pour l’édition (kdevelop en fait, mais la zone d’édition c’est katepart) et du coup je vais assez vite l’oublier (quand on pratique pas, on oublie vite…)

je me permets de remonter ce vieux topic sur lequel je suis tombé par hasard en essayant de trouver une version portable de gvim sur Clubic (parce tous les autres serveurs que j’ai trouvé sont HS mis à par la version 7.2 de dev que j’utilise).

J’ai essayé ton astuceGeentooUser.
Je suis bien passé en mode “Visual” puis “Visual Bloc”. J’ai alors de selectioner mon texte avec la souris. Malheureusement, cela ne me selectionne pas verticalement comme le fait ultraedit. Cela me selectionne la ligne entière.

Faut il faire quelques chose d’autre ?
Comment selectionne tu apres ?
Tu peux selectionner normalement avec ta souris ?