bash 脚本复制多个文件夹和文件逻辑
bash script copy multiple folders and files logic
Bash 脚本:
table 目录中的每个文件在复制到目标时都需要从键空间重命名为 newkyespace_456。
└── Main_folder
├── keyspace
│ ├── tableA-12323/keyspace-tableA-12323-ka-1-Data.db
│ ├── tableB-123425/keyspace-tableA-123425-ka-1-Data.db
│ └── tableC-12342/keyspace-tableA-12342-ka-1-Data.db
└── newkeyspace_456 ( given folder) and sub folders
├── tableA-12523
├── tableB-173425
└── tableC-1242
例子是
keyspace/tableA-12323/keyspace-tableA-12323-ka-1-Data.db
到
newkeyspace_456/tableA-12523/newkeyspace_456-tableA-12523-ka-1-Data.db
请注意,可以将相同的 table(类型 A、B、C)类型复制到其他键空间(类型 A、B、C)中的相同 table 类型。 table 名称也需要更改文件名,请注意示例 12323 在复制到目录 newkeyspace_456/tableA-12523.
时已重命名为 12523
A 类 table 文件可以从 keyspace/tableA-12323 复制到 newkeyspace_456/tableA-12523 中的 A 类 table 文件。
我该如何解决这个问题?
谢谢
汤姆
使用带字符串替换的参数扩展来更改文件名,如下所示:
for fn in $(find ./keyspace -path '*.db') ; do cp "$fn" "${fn//keyspace/newkeyspace_456}" ; done ;
Bash 脚本: table 目录中的每个文件在复制到目标时都需要从键空间重命名为 newkyespace_456。
└── Main_folder
├── keyspace
│ ├── tableA-12323/keyspace-tableA-12323-ka-1-Data.db
│ ├── tableB-123425/keyspace-tableA-123425-ka-1-Data.db
│ └── tableC-12342/keyspace-tableA-12342-ka-1-Data.db
└── newkeyspace_456 ( given folder) and sub folders
├── tableA-12523
├── tableB-173425
└── tableC-1242
例子是
keyspace/tableA-12323/keyspace-tableA-12323-ka-1-Data.db
到
newkeyspace_456/tableA-12523/newkeyspace_456-tableA-12523-ka-1-Data.db
请注意,可以将相同的 table(类型 A、B、C)类型复制到其他键空间(类型 A、B、C)中的相同 table 类型。 table 名称也需要更改文件名,请注意示例 12323 在复制到目录 newkeyspace_456/tableA-12523.
时已重命名为 12523A 类 table 文件可以从 keyspace/tableA-12323 复制到 newkeyspace_456/tableA-12523 中的 A 类 table 文件。
我该如何解决这个问题?
谢谢 汤姆
使用带字符串替换的参数扩展来更改文件名,如下所示:
for fn in $(find ./keyspace -path '*.db') ; do cp "$fn" "${fn//keyspace/newkeyspace_456}" ; done ;