如何使用ls对每个文件的内容进行排序?

时间:2017-11-13 00:25:30

标签: c

目前我正在使用ls(在第一个子节点内)进行排序(在第二个子节点内),但sort将ls的输出读作一行而不是不同的文件名

在我的代码中,我有第一个孩子:

if(childpid == 0){
    close(fd[0]);
    dup2(fd[1], 1);
    execlp("ls", "ls", (char *)0);
}

现在对于第二个孩子,它应该是读取第一个孩子的输出:

if(childpid2 == 0){
    close(fd[1]);
    dup2(fd[0], 0);
    read(fd[0], string, sizeof(string));
    close(fd[0]);
    execlp("sort", "sort", string, NULL);
}   

我目前的输出是:

sort: open failed: activity
text.txt
text2.txt
exercise.c
: File name too long

有没有办法让我可以单独读取每个文件,以便排序可以查看每个文件中的内容以对它们进行排序?

0 个答案:

没有答案