Regex 文件名的正则表达式解析

Regex 文件名的正则表达式解析,regex,string,Regex,String,我正在尝试使用dropbox\u uploader.sh脚本上载一组同名(200.jpg)但位于不同文件夹中的图像 所以我有../a/200.jpg,../b/200.jpg等,我想把它们上传到文件夹/a/200.jpg和文件夹/b/200.jpg。目前,它们只是“200.jpg”而相互覆盖 这就是我现在所做的,导致了上述情况: 。/Dropbox Uploader/Dropbox\u Uploader.sh upload*/200.jpg Folder/从我在Dropbox\u Uploade

我正在尝试使用
dropbox\u uploader.sh
脚本上载一组同名(
200.jpg
)但位于不同文件夹中的图像

所以我有
../a/200.jpg
../b/200.jpg
等,我想把它们上传到
文件夹/a/200.jpg
文件夹/b/200.jpg
。目前,它们只是“200.jpg”而相互覆盖

这就是我现在所做的,导致了上述情况:
。/Dropbox Uploader/Dropbox\u Uploader.sh upload*/200.jpg Folder/

从我在Dropbox\u Uploader.sh的源代码中看到的,脚本不支持此行为

您应该在脚本中建立需要上传的文件列表,然后为列表中的每个文件调用dropbox_uploader.sh upload


这样,您就可以更好地控制选择哪些文件,并在需要时执行更高级的筛选。

您可以使用
查找
来执行此操作

find*/-name'200.jpg'-exec dropbox\u uploader.sh upload./“{}”文件夹/“{}”;
这将在当前目录的子目录中找到所有名为200.jpg的文件,然后调用
dropbox\u uploader.sh
。它最终执行如下操作:

dropbox_uploader.sh upload a/200.jpg Folder/a/200.jpg
dropbox_uploader.sh upload b/200.jpg Folder/b/200.jpg
如果您需要在上传到目录之前创建目录,那么您可以这样做

find*/-name'200.jpg'-exec dirname“{}”\ |\
xargs-I“{}”dropbox_uploader.sh mkdir文件夹/“{}”

我只需要提取图像的目录名,以便在Dropbox上创建相同的目录