LinuxForum.Fans
Тема

Как направить вывод запроса в xargs для cp -fdR

Автор: ivan_tiran 4 сообщений 1092 просмотров
30.01.2018 21:04 · отредактировано #427680

Доброго времени суток.

Занимаюсь чёрти чем. Можно было вручную скопировать папки и файлы или через mc. Но мне захотелось написать скрипт.

В общем, написал скрипт, который выводит пути к папкам и файлам без точек в каталоге. Их мне надо скопировать в другую папку рекурсивно.

[console]ls -al | grep -E "(^d)|(^\-)" | grep -vE "[[:space:]]{1}[\.]{1}" | awk 'BEGIN{"pwd" |& getline z; z = z "/";}{k = $0; print "\"" z substr(k,index(k,$9)) "\"" ;}'[/console]

Я понимаю, что после данного запроса надо ставить [console]| xargs cp -fdR [/console]. А дальше как быть? Если в качестве параметра укажу нужный каталог, то копирование будет идти не туда.

Помогите с xargом.

30.01.2018 21:16 #427681

Велосипед давно изобретён. Утилита называется rsync

30.01.2018 21:33 #427682
s.xbatob написал:
Велосипед давно изобретён. Утилита называется rsync

Может оно и так.

Но, хочется закончить то, что начал, но мне пришла идея сделать это в awk в цикле.

30.01.2018 21:53 #427683

ivan.tiran, Вы пошли по слишком длинному пути. Про то, что будет, если в именах файлов есть пробелы, я уже молчу.
А ещё есть find, прямо из которого можно вызывать cp

Войдите или зарегистрируйтесь, чтобы ответить.