Envoyé par
melmouj
perl -pe ' substr($_,15,3) =~ tr/[a-z]/000/' kal >kal1;
Bon y a des fautes dans cet uniligne, mais je suppose que tu t'en doutais puisque tu nous demande de l'aide...
Si le fichier est "plat", j'imagine que tu ne veut surtout pas qu'il soit découpé en lignes, donc on utilise '-0', par ailleurs ta syntaxe est légèrement fausse et je suis obligé de supposer que tu veux remplacer les caractères alphabétiques dans l'intervalle 15-17 en 0 (mais pas les autres caractères ??). Voici ce que ça donnerait si mes suppositions était correctes (sinon faut être plus clair) :
perl -p0e '$s = substr($_, 15, 3); $s =~ tr/a-z/0/; substr($_, 15, 3, $s)' kal >kal1
Il est possible que ce code fonctionne, mais je n'ai pas de Perl sous la main pour tester :
perl -p0e 'substr($_, 15, 3) =~ tr/a-z/0/' kal >kal1
En tout cas le premier code devrait fonctionner.
EDIT : Le second code ne fonctionne pas... dommage !
--
Jedaï
Partager