Я пытаюсь использовать терминал 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 выше)