Tenho vários diretórios:
├── folder1.x
│ ├── dsferwe
│ ├── ewrwr342
│ ├── analysis
│ ├── fdsds
│ ├── vcxvcxz
│ ├── 324322
│ ├── export.asc
│ ├── f_random_subfolder.xf
│ │ ├── -.method
│ │ ├── desktop.ini
│ │ ├── lock.file
│ │ └── submethods.xml
│ └── Sync
├── random_folder4.x
│ ├── dsferwe
│ ├── ewrwr342
│ ├── analysis
│ ├── fdsds
│ ├── vcxvcxz
│ ├── 324322
│ ├── export.asc
│ ├── 22random_subfolder.xf
│ │ ├── -.method
│ │ ├── desktop.ini
│ │ ├── lock.file
│ │ └── submethods.xml
│ └── Sync
├── X93430.x
│ ├── dsferwe
│ ├── ewrwr342
│ ├── analysis
│ ├── fdsds
│ ├── vcxvcxz
│ ├── 324322
│ ├── export.asc
│ ├── random_subfolder222.xf
│ │ ├── -.method
│ │ ├── desktop.ini
│ │ ├── lock.file
│ │ └── submethods.xml
│ └── Sync
Cada diretório contém um export.asc
arquivo.
Eu quero copy
todos os export.asc
arquivos para um novo diretório ao renomear para ter o mesmo nome do diretório pai. Portanto, no final, conforme o exemplo acima, terei esses arquivos em uma nova pasta:
folder1.x.asc
random_folder4.x.asc
X93430.x.asc
Como posso conseguir isso?
Tópicos RELACIONADOS que já acompanhei mas não obtive sucesso
Você pode fazer isso com
find -exec sh -c ...
"$(basename "$(dirname "$1")")"
será o nome da pasta em que o arquivo reside.Adicione
-i
acp
se quiser garantir que nenhum arquivo seja substituído sem interação prévia.