#include #include #include int main(int argc, char **argv) { char c, *filename; int lines = 0, fdin = 0, fdout = 1, i = 0, n = 10; for (i = 1; i < argc; i++) { if (argc - 1 <= i + 1) { continue; } if (strcmp(argv[i], "-n") == 0) { n = atoi(argv[i + 1]); } if (strcmp(argv[i], "-f") == 0) { filename = (argv[i + 1]); fdin = open(filename, O_RDONLY); if (fdin < 0) { printf("error: %s non found.\n", filename); exit(EXIT_FAILURE); } } } while(read(fdin, &c, 1) > 0) { if (lines < n) { write(fdout, &c, 1); } if (c == '\n') { lines++; } } }