Bonjour,

Encore désolée de vous embêter avec mes problèmes de newbie mais voici le dernier.
Dans un fichier, je veux isoler une chaîne de caractère a un emplacement prédéfini, et ensuite remplacer ce dernier par une autre chaîne prédéfinie elle aussi.
Okay, je m'explique un peu mieux.
Un exemple de fichier
ABCD 1234 abc
EFGH 5678 efg
Pour simplifier en premier lieu, imaginons que je veuille isoler par exemple le 6ème caractère si sa valeur est égale 5 alors le remplacer par un X, sur l'intégralité du fichier. J'ai beau eu lire et tester des trucs différents, la fonction sed doit m'échapper. Est-ce que je peux l'utiliser dans ce cas précis? Car j'ignore comment noter ma variable à remplacer pour qu'elle soit interprétée comme elle se doit.

Au départ j'avais imaginé quelque chose dans le genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
cat $fichier | while read line
do
var=$(echo $line | cut -c6)
if [$var=5]
then
sed -e 's/$var/X/' $fichier #ici je n'ai volontairement pas variabiliser le X, une chose à la fois
fi;done
Mais le problème, ici je pense, c'est que ma valeur est interprétée comme une valeur définie et non à une place définie dans le fichier.
Je tourne en rond, je ne trouve pas. J'ai tenté avec d'autres astuces lu dans le man, mais ça m'échappe. Le problème également de ce fichier, c'est que parfois quand il n'y a pas de data, c'est simplement remplacé par des blancs. Si je reprends mon exemple de fichier bidon, cela peut-être aussi ainsi:
ABCD 1234 abc
        5678 efg
Du coup, ça me parait délicat de déclarer que c'est la variable de tel bloc.
Si quelqu'un pouvait m'aiguiller et tout au moins me dire si c'est possible ou non avec cette méthode en expliquant pourquoi, je serai ravie et toute ouïe.