|
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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/7619e17e4f03.html, оценка из 5, голосов 10
|