Как скопировать файлы с одинаковым именем в другой исходный каталог и переименовать в целевой каталог?

У меня есть список файлов в следующей структуре:

 A/abc.zip
 B/abc.zip
 C/abc.zip

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

$ cp */abc.zip ~/dest/

Кажется, это заменяет файл каждый раз, как я могу правильно скопировать эти файлы с помощью Linux bash?

Скажите, если я хочу переименовать его в dest/A-abc.zip, dest/B-abc.zip, dest/C-abc.zip?


person Pythoner    schedule 10.10.2018    source источник
comment
если вы используете флаг --parents, он должен скопировать пути к папкам на все abc.zip в dest   -  person quasar    schedule 10.10.2018
comment
Этот вопрос касается проблемы копирования и переименования одной командой: unix.stackexchange.com/questions/115813/   -  person Blair Nangle    schedule 10.10.2018
comment
Я хочу использовать команду копирования - следует ли понимать, что вы не примете ни одного ответа, в котором не использовалось cp? Если нет, как следует понять эту строку, чтобы отразить ваше намерение?   -  person Charles Duffy    schedule 10.10.2018
comment
@CharlesDuffy, в идеале cp или basic bash cmd, поскольку я использую старый cygwin, он не поддерживает некоторые расширенные команды.   -  person Pythoner    schedule 10.10.2018
comment
Если у вас rsync, вы можете использовать параметр -R.   -  person Tom Fenech    schedule 10.10.2018
comment
Вы должны показать свой код, чтобы люди знали, где у вас проблемы. Все части этого вопроса были заданы и даны ответы ранее. Возможный дубликат переименования файлов в папке в последовательные номера, Переименование набора файлов в 001, 002,… в Linux и т. Д.   -  person jww    schedule 10.10.2018


Ответы (1)


Если вам не нужно помещать все по одному и тому же пути, вы можете сохранить структуру, используя --parent:

$ cp --parent */abc.zip ~/dest

$ tree ~/dest
~/dest
├── 1
│   └── abc.zip
├── 2
│   └── abc.zip
└── 3
    └── abc.zip
person Andor    schedule 10.10.2018