Re: consiglio per script su file di testo
prova con questo:
#include <stdio.h>
void main (int argc, char **argv){
int l,c=0;
FILE *file_origine,*file_out;
char bf[4096];
if(argc!=2){
fprintf(stderr,"Errore accetto un solo parametro\n");
exit(1);
}
if((file_origine=fopen(argv[1],"r")) == NULL){
fprintf(stderr,"Non esiste il file di origine %s\n",argv[1]);
exit(2);
}
file_out=fopen("accoppiato.txt","w");
while(fgets(bf,4095,file_origine) != NULL){
l=strlen(bf);
if(bf[l-1]=='\n')
bf[l-1]='\0';
if(c < 1){
fprintf(file_out,"%s",bf);
c++;
}
else{
fprintf(file_out," %s\n",bf);
c=0;
}
}
if(c==1)
fputc('\n',file_out);
fclose(file_origine);
fclose(file_out);
exit(0);
}
poi compili e accetta come unico parametro il file di origine....
On Tue, May 15, 2001 at 04:21:08PM +0200, Sarlak wrote:
> Davide Alberani (alberanid@bigfoot.com) wrote:
>
> > Prova con una regexp del tipo:
> > s/\(.*\)\n\(.*\)/\1 \2/g
>
> Non riesco a ottenere niente.
> Comunque per essere precisi il testo di riferimento e' composto in questo
> modo:
>
> 3c5x9utils
> 1.3-6
> 3dchess
> 0.8.1-8
> 44bsd-rdist
> 20001111-4
> ...etc...
>
> Io vorrei farlo diventare:
> 3c5x9utils 1.3-6
> 3dchess 0.8.1-8
> ...etc...
>
> Con questo mini script per awk:
>
> #!/usr/bin/awk
> BEGIN { RS = "" ; FS = "\n" } {
> print $1 "\t" $2
> }
>
> riesco a fare il lavoro corretto ma solo per le prime due righe, poi si
> ferma perche' non riesco a dirgli come sono separati i record. Infatti il
> problema e' che nel mio file i campi e i record sono separati tra loro nella
> stessa maniera: con una \n.
>
> Potrei aggirare il problema se sapessi come inserire un segno particolare o
> una riga vuota ogni due, ma anche qui non so da che parte girarmi (sed?)
>
> Grazie.
>
> Cordiali Saluti,
> Tiziano.
>
> --
>
> "La televisione è quell'apparecchio che·permette a persone
> che non hanno niente·da fare,
> di guardare gente che non sa fare niente"
>
>
> --
> To UNSUBSCRIBE, email to debian-italian-request@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
>
Reply to: