【发布时间】:2016-09-29 02:21:04
【问题描述】:
我希望在 Google 存储桶和我的本地目录之间同步内容。我想在执行此操作时忽略某些文件。
就像我想忽略以 country.csv 和 version.csv 结尾的文件。
所以我使用以下正则表达式,它不起作用
gsutil -m rsync -x ".*country\.csv$|.*version\.csv$" gs://[bucket_id] test/
我已经在 regex101.com 上测试了这个正则表达式
另一方面,当我尝试使用单个正则表达式时,它可以工作
gsutil -m rsync -x ".*country\.csv$" gs://[bucket_id] test/
我正在使用 Windows 机器。 我指的是gsutil documentation
谁能确定问题出在哪里?
编辑:
gsutil 上的错误“不是内部或外部命令、可运行程序或批处理文件”
【问题讨论】:
-
文档建议在正则表达式周围使用单引号。你试过了吗?
-
@SilentMonk:单引号在 Windows 上不起作用,上面提到的单正则表达式也仅适用于双引号
-
双反斜杠呢?在 Unix 上,单引号防止扩展,即 `\` 被本地传递给 python,这会导致 python 字符串中出现本地反冲,这正是你想要的。
-
@SilentMonk:双反斜杠在 Windows 上也不起作用。我必须使用单个反斜杠来转义点(。)
-
使用
powershell而不是cmd尝试同样的事情。那么至少你应该能够使用单引号,如果这很重要的话。|至少不应被视为壳管。