>>107628168
>and it outputs a list of files I send through xargs -0 to mv or rm. Unix philosophy is alive and well, even today....
That's because you don't know how to write a program. Unfortunately you still have to deal with the brain-damaged C language and null-terminated strings, but "xargs -0 to mv or rm" is not how you're supposed to do it.
int rename(const char *oldpath, const char *newpath);
int unlink(const char *pathname);