Главная страница


ru.unix.bsd

 
 - RU.UNIX.BSD ------------------------------------------------------------------
 From : mitrohin a.s.                        2:5020/400     06 Mar 2003  10:36:50
 To : Yuri Kosivtsov
 Subject : Re: слить файлы
 -------------------------------------------------------------------------------- 
 
 Yuri Kosivtsov <Yuri.Kosivtsov@f29.n5021.z2.fidonet.org> wrote:
 
 YK> В каталоге много (несколько тысяч) файлов, каждый из
 YK> одной текстовой стpочки. Как их слить в один файл вида:
 YK> название файла содеpжание
 YK> название файла содеpжание
 YK> и т.д.
 
 можно и на сях - в духе
 
   DIR *dir;
   struct dirent *d;
   int fd;
   char buf[0x10000];
 
   if ((dir = opendir(".")) == NULL)
    err(1, "opendir(\".\")");
 
   while (d = readdir(dir)) != 0) {
    if (*d->d_name == '.' && 
       (!d->d_name[1] ||
        (d->d_name[1] == '.' && !d->d_name[2])))
       continue;
 
    if ((fd = open(d->d_name, O_RDONLY)) < 0)
       err(1, "open(%s)", d->d_name);
 
    printf(d->d_name);
    if (br = read(fd, buf, sizeof buf), br > 0)
       fwrite(buf, br, 1, stdout);
        /* тут можно проверочку на '\n' в конце */
    else
       printf("\n");
 
    close(fd);
   }
 
   closedir(dir);
 
 если с подкаталогами - ситуация чуть усложнится ;)
 плюс - победить можно лубую проблему ;))), минус - потеря времени.
 
 /swp
 --- ifmail v.2.15dev5
  * Origin: BSPU InterNetNews site (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: слить файлы   mitrohin a.s.   06 Mar 2003 10:36:50 
Архивное /ru.unix.bsd/7619e17e4f03.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional