Find, select and move/copy multiple files at once via Terminal
You get cp: /found_files: Permission denied because the script in the linked post, in its current form, is written to copy the listed files to the /found_files directory. The /found_files directory doesn't exist on your Mac and cp interprets found_files as a file located in /. Since / is not writable, you get the permission error.

I modified the script so that it works with other destination directories and expanded it to support copying and moving files:


Launch Terminal. Select a directory where you save your scripts, for example ~/bin:

cd ~/bin

Create a file named cplist.sh with these contents:

#!/bin/bash

source_dir="$1"
destination_dir="$2"
file_list="$3"

# Sanity checks
if [[ $# -ne 3 ]]; then
    echo "Usage: $0 &lt;source dir&gt; &lt;target dir&gt; &lt;file list&gt;"
    exit 0
fi
if [[ ! -d "$source_dir" ]]; then
    echo "$0: '$source_dir' could not be found"
    exit 1
fi
if [[ ! -d "$destination_dir" ]]; then
    echo "$0: '$destination_dir' could not be found"
    exit 1
fi
if [[ ! -f "$file_list" ]]; then
    echo "$0: '$file_list' could not be found"
    exit 1
fi

# Copy or move?
if [[ $(basename $0) == "mvlist.sh" ]]; then
    command="mv"
    action="Moving"
else
    command="cp -a"
    action="Copying"
fi

# Copy files    
while read filename
do
    echo "$action file '$filename'"
    if [[ -f "$source_dir/$filename" ]]; then
        find "$source_dir" -name "$filename" -exec $command "{}" "$destination_dir" \;
    else
        echo "File '$filename' is listed in '$file_list' but could not be found"
    fi  
done &lt; "$file_list"

Make the file executable:

chmod a+x cplist.sh

Link the file to mvlist.sh:

ln -s cplist.sh mvlist.sh

To copy a set of files, use cplist.sh as follows:

./cplist.sh &lt;source dir&gt; &lt;destination dir&gt; &lt;file list&gt;


where &lt;file list&gt; is a text file that contains file names, for example:

file 1.pdf
file 2.pdf
...


To move a set of files, use mvlist.sh as follows:

./mvlist.sh &lt;source dir&gt; &lt;destination dir&gt; &lt;file list&gt; 



For example:

 ./mvlist.sh 
 Usage: ./mvlist.sh &lt;source dir&gt; &lt;target dir&gt; &lt;file list&gt;

 ./mvlist.sh /tmp/ /nonexistentfolder filelist.txt
 ./mvlist.sh: '/nonexistentfolder' could not be found

 ./mvlist.sh /tmp/source/ /tmp/destination filelist.txt
 Moving file 'file 1.pdf'
 Moving file 'file 2.pdf'
 Moving file 'file 3.pdf'
 Moving file 'file 4.pdf'
 Moving file 'file 5.pdf'
 Moving file 'file a.pdf'
 File 'file a.pdf' is listed in 'filelist.txt' but could not be found
 Moving file 'file 6.pdf'
 Moving file 'file 7.pdf'
 Moving file 'file 8.pdf'
 Moving file 'file 9.pdf'