Переместить или скопировать результаты поиска в терминале ma c osx - PullRequest
1 голос
/ 10 марта 2020

У меня большой каталог, полный различных шейп-файлов. Я хотел бы переместить или скопировать все файлы, заканчивающиеся на _31. или _32. в другой каталог (ma c osx).

## Find all shapefiles ending in 31
find ./ -iname '*_31.*' 2>/dev/null

## Find all shapefiles ending in 32
find ./ -iname '*_32.*' 2>/dev/null

Вышеуказанные вызовы успешно находят все нужные файлы. Теперь я хотел бы переместить или скопировать эти результаты в новый каталог. Есть идеи?

1 Ответ

0 голосов
/ 10 марта 2020

Это задание для xargs!

find ./ -iname '*_32.*' | xargs -I _ cp _ destination

xargs примет вывод команды find и выполнит команду в каждой строке.

-I _ sets заполнитель для входящей строки, который затем используется в команде cp.

...