У меня есть эта папка /full/path/sourceFolder со следующими файлами:

full/path/sourceFolder/fileA /full/path/sourceFolder/copyA -> fileA /full/path/sourceFolder/copyB

Вы можете видеть, что символическая ссылка указывает на файл в той же папке и не использует полный путь, но использует относительный путь для ссылки.

Теперь мне нужна команда копирования, которая скопирует все файлы с именем copy * в sourceFolder в destinationFolder. Когда я копирую файл copyA, он должен скопировать источник символической ссылки, то есть fileA, но сохранить имя copyA. Команда копирования также должна работать для копирования файла copyB.

Можно ли это сделать?

Я попробовал эти команды, но они не работают, в основном потому, что моя ссылка относительна:

cp -rf --preserve=links /full/path/sourceFolder/copy* /target/path/ cp -RP /full/path/sourceFolder/copy* /target/path/ cp -Hrf /full/path/sourceFolder/copy* /target/path/ cp -Lrf /full/path/sourceFolder/copy* /target/path/

У меня заканчиваются идеи. Какой самый элегантный способ добиться этого?

0