Использование терминала Linux/Unix для копирования большого количества файлов в новое место

Использование терминала Linux/Unix для копирования большого количества файлов в новое место

Я пытаюсь использовать терминал Linux для копирования множества файлов в новое место. Я устал от команды:

sudo найти -iфайл_я_хочу| xargs cp $1 /место_я_хочу_всё_скопировать_туда/

Который, выдает ошибку. Как правильно с этим справиться?

решение1

xargsне работает таким образом. Он не использует $1. Обычно он просто добавляет аргумент в конец списка параметров. Но в этом случае это не сработает, так как это цель, а не место назначения, и завершающий параметр не нужен.

Проверьте -iфлаг xargs, он позволяет вам иметь замену. По умолчанию используется {}, я думаю, чтобы быть последовательным сfind

sudo locate -i *file_I_want* | xargs -i cp {} /place_I_want_everything_copied_to/

Комментарий @javano также является ответом, хотя он будет нарушен, если в именах файлов есть пробелы (хотя я считаю, что пробелы также нарушат использование xargs выше)

Связанный контент