Kezdőlap › Fórumok › Programozás › több .dat file-ból egy
- This topic has 10 hozzászólás, 4 résztvevő, and was last updated 16 years, 7 months telt el by
uzsolt.
-
SzerzőBejegyzés
-
2008-12-02-20:32 #2177010
join, awk, vim, amik így hirtelen eszembe jutnak.
2008-12-02-20:32 #2177011join, awk, vim, amik így hirtelen eszembe jutnak.
2008-12-02-22:13 #2177012Nem 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.datFordítás:
Code:$ gcc -o progi progi.cCode:#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 😮
2008-12-02-22:13 #2177013Nem 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.datFordítás:
Code:$ gcc -o progi progi.cCode:#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 😮
2008-12-03-13:45 #2177014Nem játszottam még sose a join-nal, de azzal nem lehet valamit csinálni?
2008-12-03-13:45 #2177015Nem játszottam még sose a join-nal, de azzal nem lehet valamit csinálni?
2008-12-03-14:33 #2177016Névtelen
Code:paste a_oszlop b_oszlop c_oszlop d_oszlop e_oszlop > egyben2008-12-03-14:33 #2177017Névtelen
Code:paste a_oszlop b_oszlop c_oszlop d_oszlop e_oszlop > egyben2008-12-03-18:49 #2177018Akkor az a paste az, amire gondoltam. Jól emlékeztem, hogy egyszer man-olvasgatás közben találtam valami ilyesmit…
2008-12-03-18:49 #2177019Akkor az a paste az, amire gondoltam. Jól emlékeztem, hogy egyszer man-olvasgatás közben találtam valami ilyesmit…
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz