var=$(pwd);diff -x .DS* -r aa bb | cut -f3,4 -d' '| sed 's/\://' | awk -v "var=$var" 'BEGIN{OFS="/"} {split($2,a,"-"); a[1]=toupper(a[1]) if ($1 ~/^bb/) {print var, $1, $2 " " var, "aa"}
else {print var, $1, $2 " " var, "bb"}}' | cp -r $(cut -f1 -d" ") $(cut -f2 -d" ")
Сравнивает два каталога и возвращает исходный и целевой адреса для копирования.Предполагаемый результат состоит в том, что обе папки в конечном итоге содержат одни и те же файлы и папки внутри них.
Часть cp-cut не работает.Выполнение cp вручную дает правильный результат.Вывод операций вырезания выглядит нормально.
Оставляя предложение cp-cut, скрипт выдает такие строки
/ Users / Tom / Desktop / aa / AWK / awk-parse-email-add-or.textClipping / Users / tom / Desktop / bb
Итак, это исходный материал - исходный файл и целевой каталог - для копирования вырезки awk в папку bb.
Может ли какой-нибудь добрый человек подсказать, где я иду не так?
Том