I was trying to find all symbolic links in /usr/lib and use file on the first entry in the list, which I delimited with head -n 1.

Why does find /usr/lib -maxdepth 1 -type l | file $(head -n 1) work but find /usr/lib -maxdepth 1 -type l | head -n 1 | file does not?

It complains that I am not using file correctly. Probably because it lacks an argument, but - programmatically/syntactically - why can’t file grab it’s argument from the pipe?

  • emotional_soup_88@programming.devOP
    link
    fedilink
    English
    arrow-up
    5
    ·
    13 hours ago

    Thanks! So this was more about my lack of understanding of how the file command works… But anyway, this gave me some new stuff to study! Especially the -print0 and -quit options and the xargs command.