Вы хотите использовать rsync.Rsync создает список всех файлов и копирует только те, которые были изменены.Это действительно быстро.я делаю
rsync -avzr filesIwant WhereItShouldGo
, но, чтобы ответить на ваш вопрос, вы можете перечислить файлы и исключить тот, который вам не нужен, с помощью grep и используя xargs, запустите ваше действие.Допустим, вы запустили ls, и это то, что вы получили
#:~ cy$ ls
BackEnd Downloads Pictures
CSC 130 Library Public
Checkbook.java Movies Site and Code
Desktop Music Sites
Documents NetBeansProjects
, и допустим, что вам нужно все, но не все, что вы можете сделать в папке музыки или в папке фильмов:1009 * обратите внимание, фильмы и музыка не были перечислены.Ну, теперь вы можете запустить Xargs и сделать действие.Поскольку я не хочу ничего удалять, я не собираюсь этого делать, но это будет выглядеть так:
#:~ cy$ ls | grep -v Music | grep -v Movies| xargs -I xx cp xx ToSomePlace
, команда -I для xargs берет ввод из последней команды и дает ей псевдонимв моем случае "xx", чтобы вы могли вызывать команды в xx, зная, что они являются элементом последней команды.Надеюсь, что это помогло.