sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #93864
Re: Re: Vi og linienummer
On Fri, 16 Nov 2007 08:57:24 +0100
Mads Jensen <madsj@xxxxxxxxx> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Hej,
>
> > I "VI" kan man via "se nu" få vist linienummer.
> >
> > Hvordan får man linienummer til at forblive i filen ?
>
> Det er vist ikke i filen på noget tidspunkt, men bare i marginen ?
>
> > Via noget perl? eller kan "VI" selv?
>
> Følgende C-kode burde vist kunne gøre:
>
> #include <stdio.h>
> #include <stdlib.h>
>
> int main(int argc,char *argv[]){
> FILE* fin,*fout;
> char* buf;
> int i;
>
> if(argc<3){
> fprintf(stderr,"lineno <input file> <output file>\n");
> return EXIT_FAILURE;
> }
>
> i = 0;
> buf = (char*)malloc(1024*sizeof(char));
> fin = fopen((const char *)argv[1],"r");
> fout = fopen((const char *)argv[2],"w");
> ++i;
> fgets(buf,1024,fin);
> while(!feof(fin)){
> fprintf(fout,"%i %s",i,buf);
> fgets(buf,1024,fin);
> ++i;
> }
> fclose(fin);
> fclose(fout);
>
> free(buf);
> return EXIT_SUCCESS;
> }
>
> Det er compilet med (og testet):
> gcc -O2 -pedantic -ansi -W -Wall -o lineno lineno.c
>
> Håber, at det var det, du ville have :-)
1) der blev spurgt om hvordan det kunne gøres i vi
2) hvorfor skrive så meget kode når næsten enhver linux distribution har
programmet nl installeret der gør et samme.
--
Kim Schulz | Blog: http://www.schulz.dk/
Email: Kim@xxxxxxxxx | Work: http://www.devteam.dk/
Phone: +45 5190 4262 | Fun : http://www.chilifan.dk/
References