Копирование результата операции поиска в оболочке - PullRequest
0 голосов
/ 25 октября 2018

Я хочу найти файл и одновременно скопировать его в другой каталог, например:

cp (find . -name myFile | tail -n 1) dir/to/copy/to

Но это говорит о том, что неожиданный токен `find '

Есть ли лучший способ сделать это?это?

Ответы [ 3 ]

0 голосов
/ 26 октября 2018
find . -name 'myFile' -print0 | tail  -n 1 | xargs -0 -I {} cp {} /dir/to/copy/to/
0 голосов
/ 26 октября 2018

Доступны две опции -

Добавлен отсутствующий $ () - для оценки команды (не уверен, что цель команды tail, требуется только для одного и того же файла в нескольких каталогах)

  1. cp $ (find. -Name myFile | tail -n 1) dir / to / copy / to

  2. find.-name myFile -type f -exec cp {} dir / to / copy / to \;

0 голосов
/ 25 октября 2018

Вы можете использовать конвейер:

find . -name 'myFile' -print0 | tail -z -n 1 | xargs -0 -I {} cp {} /dir/to/copy/to/

Использование опции -print0 для адресации имен файлов с пробелами, символами глобуса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...