Est ce que c'est un truc de ce style que tu cherches à faire :
sed -u -i -e 's/^\(ACT\(~[^~]*\)\{10\}\)~0[^~]*\(~[^~]*~\)\([^~]*\)\(~.*\)$/1円~4円3円5円/g' mon_fichier
soit : modification directe des lignes du fichier commençant par ACT dont le 12eme champs commence par 0 => le 12eme champs est supprimé, le champs 14 est mis à sa place les champs 13, 15 et suivants sont mis à la suite.
Teste sur une copie du fichier pour voir si ça donne ce que tu veux (j'espère que je ne me suis pas planté :) ).
# l'instruction sed
Posté par Bastien Mourgues . En réponse au message Recherche remplace champ avec condition. Évalué à 1.
sed -u -i -e 's/^\(ACT\(~[^~]*\)\{10\}\)~0[^~]*\(~[^~]*~\)\([^~]*\)\(~.*\)$/1円~4円3円5円/g' mon_fichier
soit : modification directe des lignes du fichier commençant par ACT dont le 12eme champs commence par 0 => le 12eme champs est supprimé, le champs 14 est mis à sa place les champs 13, 15 et suivants sont mis à la suite.
Teste sur une copie du fichier pour voir si ça donne ce que tu veux (j'espère que je ne me suis pas planté :) ).
Hein ? Comment ça c'est pas intuitif ? \(^o^)/