LINUX.ORG.RU

Слить два дампа в один

 , ,


0

1

Граждане, помогите решить проблему. Есть два файла с дампами, бинарники, в одном старшие байты, в другом младшие. Нужно сделать из них один файл, с правильным порядком байтов (ст-мл,ст-мл…ст-мл), можно в виде простого текста. Может, какой-нибудь редактор так умеет, или скрипт на баше есть или что-нибудь подобное?


Правильный порядок байтов - мл-ст а не ст-мл.

скрипт на баше

Лучше так:

#include <stdio.h>
#define BSZ 65536
FILE *f1, *f2;
unsigned char b1[BSZ], b2[BSZ], r[BSZ*2]

int main(int argc, char * * argv) {
  size_t n, n2, p;
  f1 = fopen(argv[1],"rb");
  f2 = fopen(argv[2],"rb");
  while(n=fread(b1,1,BSZ,f1)) {
    n2 = fread(b2,1,n,f2);
    if(n2!=n1) { fprintf(stderr,"second file truncated\n"); return -1; }
    for(p=0; p<n; p++) { r[p*2] = b1[p]; r[p*2+1] = b2[p]; }
    if(fwrite(r,1,n*2,stdout)!=n*2) { fprintf(stderr,"write error\n"); return -1; }
  }
  fclose(f1); fclose(f2); fflush(stdout); return 0;
}
firkax ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.