Script pour insérer des espaces ds lignes
Bonjour,
Je voudrais savoir s'il est possible d'ajouter des espaces dans une ligne via un script.
J'ai un fichier txt de plusieurs milles lignes, je dois ajouter après le 20ème caratère du début de ma ligne, 10 espaces et ceci à toutes les lignes.... afin que ce fichier ainsi transformé soit analysé sdans un autre logiciel. On fait toutes les lignes manuellements mais c'est très fastidieux.
Pour la petite histoire, je suis technicienne info et non programmatrice....
C'est peut être facile, mais moi je ne sais pas comment faire.
Si vous avez une idée ou bien une solution, merci beaucoup d'avance.
A bientôt
ninou
Je voudrais savoir s'il est possible d'ajouter des espaces dans une ligne via un script.
J'ai un fichier txt de plusieurs milles lignes, je dois ajouter après le 20ème caratère du début de ma ligne, 10 espaces et ceci à toutes les lignes.... afin que ce fichier ainsi transformé soit analysé sdans un autre logiciel. On fait toutes les lignes manuellements mais c'est très fastidieux.
Pour la petite histoire, je suis technicienne info et non programmatrice....
C'est peut être facile, mais moi je ne sais pas comment faire.
Si vous avez une idée ou bien une solution, merci beaucoup d'avance.
A bientôt
ninou
Configuration: Windows Vista Firefox 3.0.5
2 réponses
-
c'est très basique et facile a faire en C.
-
-
Modérateur@kilianAvec sed (si tes tabulations sont sur 5) :
sed -i.bak 's/^.\{20\}/&\t\t/' fichier.txtSinon :sed -i.bak 's/^.\{20\}/& /' fichier.txt;-))
-
-
ModérateurSalut,
Une approche banale et bien sûr facile en Clami20j@debian:~/trash$ cat fichier.txt Je voudrais savoir s'il est possible d'ajouter des espaces dans une ligne via un script. J'ai un fichier txt de plusieurs milles lignes, je dois ajouter après le 20ème caratère du début de ma ligne, 10 espaces et ceci à toutes les lignes.... afin que ce fichier ainsi transformé soit analysé sdans un autre logiciel. On fait toutes les lignes manuellements mais c'est très fastidieux. Pour la petite histoire, je suis technicienne info et non programmatrice.... lami20j@debian:~/trash$ cat ccm16_ajoutespace.c #include<stdio.h> #include<string.h> int main() { FILE *F,*FRESULT; char espaces[]=" ";/*10 espaces*/ char s[1024]; char s1[21]; char s2[1005]; int i,j; F=fopen("fichier.txt","r"); FRESULT=fopen("fichier_resultat.txt","w"); while(fgets(s,1024,F) != NULL){ for(i=0;i<20;++i) s1[i]=s[i]; s1[i]='\0'; for(j=0,i=20;i<strlen(s) && s[i]!='\0';++i,++j) s2[j]=s[i]; s2[j]='\0'; fprintf(FRESULT,"%s%s%s",s1,espaces,s2); } fclose(F); fclose(FRESULT); return 0; } lami20j@debian:~/trash$ gcc ccm16_ajoutespace.c -g lami20j@debian:~/trash$ ./a.out lami20j@debian:~/trash$ cat fichier_resultat.txt Je voudrais savoir s 'il est possible d'ajouter des espaces dans une ligne via un script. J'ai un fichier txt de plusieurs milles lignes, je dois ajouter après le 20ème caratère du début de ma ligne , 10 espaces et ceci à toutes les lignes.... afin que ce fichier ainsi transformé soi t analysé sdans un autre logiciel. On fait toutes les lignes manuellements mais c'est très fast idieux. Pour la petite histoire, je suis technicienne info et non programmatrice.... lami20j@debian:~/trash$