Vorrei copiare i file cercati usando il comando find
nella directory corrente. Sto eseguendo la seguente riga di comando:
# find linux books
$ find ~ -type f -iregex '.*linux.*\.pdf' -print0 | xargs -0 echo
# Expected output on STDOUT
../Books/LinuxCollection/Linux_TLCL-17.10.pdf ../Richard Blum, Christine Bresnahan - Linux Command Line and Shell Scripting Bible, 3rd Edition - 2015.pdf ..
Desidero copiare i file nella directory corrente usando il comando cp
. Ecco il comando che ho inserito:
$ find ~ -type f -iregex '.*linux.*\.pdf' -print0 | xargs -0 cp .
Tuttavia, ottengo un errore come mostrato di seguito all'esecuzione del comando precedente:
usage: cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file target_file
cp [-R [-H | -L | -P]] [-fi | -n] [-apvXc] source_file ... target_directory
Ho anche provato a risolvere il problema usando la sostituzione di comando. Ecco il comando che ho provato:
$ cp $(find ~ -type f -iregex '.*linux.*\.pdf' -print0) .
Tuttavia, ottengo un altro errore come mostrato di seguito all'esecuzione del comando precedente:
cp: Blum,: No such file or directory
Come posso ottenere il risultato desiderato usando il comando xargs
?