我有几个目录:
├── 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
每个目录都包含一个export.asc
文件。
我想将copy
所有export.asc
文件重命名为与其父目录同名的新目录。因此,最后根据上面的示例,我会将这些文件放在一个新文件夹中:
folder1.x.asc
random_folder4.x.asc
X93430.x.asc
我怎样才能做到这一点?
相关主题我已经关注但没有任何成功
你可以这样做
find -exec sh -c ...
"$(basename "$(dirname "$1")")"
将是文件所在文件夹的名称。如果您
-i
想cp
确保在没有事先交互的情况下不会覆盖任何文件,请添加。