Copy the first n files from one directory to another Im looking to copy the first 'n' files from one directory to another directory preferably with only cli tools (no scripts).    

I've tried the following:  


find . -maxdepth 1 -type f | head -5 | xargs cp -t /target/directory  


  This looked promising, but failed because osx cp command doesn't appear to have the
  -t switch  

exec in a few different configurations


  This probably failed for syntax problems on my end : /
  I couldn't seem to get a head type selection working



Any help or suggestions would be appreciated.

Thanks in advance!
You need the -J option with xargs.

find . -maxdepth 1 -type f | head -n5 | xargs -J X cp X /target/directory


The J option places all the filenames into the placeholder X, which can be any character(s) and cp accepts multiple files to a target directory. It can be visualized as-

cp file1 file2 file3 file4 file5 DESTINATION


EDIT:

To handle filenames with spaces, we have tr translate the newline character to the null character after each filename and then have xargs handle the null bit as a separator for the filenames.

 find . -maxdepth 1 -type f | head -n5 | tr '\n' '\0' | xargs -0 -J X cp -- X /target/directory