több .dat file-ból egy

Kezdőlap Fórumok Programozás több .dat file-ból egy

10 bejegyzés megtekintése - 1-10 / 11
  • Szerző
    Bejegyzés
  • #2177010
    uzsolt
    Felhasználó

      join, awk, vim, amik így hirtelen eszembe jutnak.

      #2177011
      uzsolt
      Felhasználó

        join, awk, vim, amik így hirtelen eszembe jutnak.

        #2177012
        gabaman
        Felhasználó

          Nem nagyon ismerek olyan bash megoldást, ami hatékony lenne erre a célra. Viszont könnyen és gyorsan össze lehet lehet dobni egy C progit.

          Be: inX.dat (in1.dat …)
          Ki: out.dat

          Fordítás:

          Code:
          $ gcc -o progi progi.c
          Code:
          #include
          #include
          #include

          #define NFILE 5

          int main (int argc, char *argv[])
          {
            int i;
            size_t n=255;
            char *line[NFILE];
            FILE *fp[NFILE], *out;

            for (i=0;i<NFILE;i++) {
              line[i] = calloc (n+1, sizeof(char));
              sprintf (line[i], "in%d.dat", i+1);
              fp[i] = fopen (line[i], "r");
              if (fp[i] == NULL) {
                fprintf (stderr, "Nem olvasható be a(z) %d, fájl!n", i+1);
                return -1;
              }
            }

            out = fopen ("out.dat", "w");
            if (out == NULL) {
              fprintf (stderr, "Nem írható az out.dat fájl!n");
              return -2;
            }

            while (1) {
              for (i=0;i<NFILE;i++) {
                if (getline(&line[i], &n, fp[i]) < 1)
                  goto end;

                if (line[i][strlen(line[i])-1] == 'n')
                  line[i][strlen(line[i])-1] = 0;
                if (i == 0)
                  fprintf (out, "%s", line[i]);
                else
                  fprintf (out, " %s", line[i]);
              }
              fprintf (out, "n");
            }

          end:
            for (i=0;i<NFILE;i++) {
              fclose (fp[i]);
              free (line[i]);
            }
            fclose (out);
                 
            return 0;
          }

          … amikor hasznos a goto.  ;D  😮

          #2177013
          gabaman
          Felhasználó

            Nem nagyon ismerek olyan bash megoldást, ami hatékony lenne erre a célra. Viszont könnyen és gyorsan össze lehet lehet dobni egy C progit.

            Be: inX.dat (in1.dat …)
            Ki: out.dat

            Fordítás:

            Code:
            $ gcc -o progi progi.c
            Code:
            #include
            #include
            #include

            #define NFILE 5

            int main (int argc, char *argv[])
            {
              int i;
              size_t n=255;
              char *line[NFILE];
              FILE *fp[NFILE], *out;

              for (i=0;i<NFILE;i++) {
                line[i] = calloc (n+1, sizeof(char));
                sprintf (line[i], "in%d.dat", i+1);
                fp[i] = fopen (line[i], "r");
                if (fp[i] == NULL) {
                  fprintf (stderr, "Nem olvasható be a(z) %d, fájl!n", i+1);
                  return -1;
                }
              }

              out = fopen ("out.dat", "w");
              if (out == NULL) {
                fprintf (stderr, "Nem írható az out.dat fájl!n");
                return -2;
              }

              while (1) {
                for (i=0;i<NFILE;i++) {
                  if (getline(&line[i], &n, fp[i]) < 1)
                    goto end;

                  if (line[i][strlen(line[i])-1] == 'n')
                    line[i][strlen(line[i])-1] = 0;
                  if (i == 0)
                    fprintf (out, "%s", line[i]);
                  else
                    fprintf (out, " %s", line[i]);
                }
                fprintf (out, "n");
              }

            end:
              for (i=0;i<NFILE;i++) {
                fclose (fp[i]);
                free (line[i]);
              }
              fclose (out);
                   
              return 0;
            }

            … amikor hasznos a goto.  ;D  😮

            #2177014
            uzsolt
            Felhasználó

              Nem játszottam még sose a join-nal, de azzal nem lehet valamit csinálni?

              #2177015
              uzsolt
              Felhasználó

                Nem játszottam még sose a join-nal, de azzal nem lehet valamit csinálni?

                #2177016
                Névtelen
                  Code:
                  paste a_oszlop b_oszlop c_oszlop d_oszlop e_oszlop > egyben
                  #2177017
                  Névtelen
                    Code:
                    paste a_oszlop b_oszlop c_oszlop d_oszlop e_oszlop > egyben
                    #2177018
                    uzsolt
                    Felhasználó

                      Akkor az a paste az, amire gondoltam. Jól emlékeztem, hogy egyszer man-olvasgatás közben találtam valami ilyesmit…

                      #2177019
                      uzsolt
                      Felhasználó

                        Akkor az a paste az, amire gondoltam. Jól emlékeztem, hogy egyszer man-olvasgatás közben találtam valami ilyesmit…

                      10 bejegyzés megtekintése - 1-10 / 11
                      • Be kell jelentkezni a hozzászóláshoz.