2016-05-24 5 views
0

私は、非公開のGoogle Cloud Bucketからpythonのgsutilを使用してデータを取得しています。gsutil - ウィンドウ上の正規表現を使用して2つのバケットの内容を同期しながらファイルを除外する

これを行うには、rsyncを使用して2つのフォルダを同期させます。ここで

  • 構文は次のとおりです。マルチスレッドとオプション-xのために使用されている-m gsutil -m rsync -x 'pattern' src_url dst_url

オプションは、ファイルを除外するために使用されます。

私が除外したいパターンは、app_versionで終わるcsvファイルです。

gsutil -m rsync -x '.*app_version\.csv$' gs://pubsite_prod_rev_04681594767840986453/stats/installs/ test/

しかし、この正規表現パターンは動作しません。

これは私が作ってみたものです。 これはcsvファイルも同期します。

このRegexを動作させるにはどうすればよいですか?

+0

、app_version.csvまたはちょうど.csvファイル:次のコマンドは正しくコピーされてから、.csvファイルを除外しましたか?それがあなたが何を望んでいるのを確認してください! – Docteur

+0

実行中のgsutilバージョン-lの出力を提供してもよろしいですか?このコマンドを試したときに、gsutilは名前が.csvで終わらないオブジェクトだけを正しくコピーしていたので、あなたのOSやPythonのバージョンに関係しているのでしょうか?gsutil rsync -x '。* \。csv $' gs:// my-bucket/t dir –

+0

gsutilバージョンの実行出力-l 'gsutilバージョン:4.19 pythonバージョン:2.7.0 OS:Windows 8' – Pankaj

答えて

1

Windowsでこのコマンドを実行したとのコメントに基づいて、Windowsで試したところ、問題を見つけました。正規表現の一重引用符はWindowsでは機能しません。代わりに二重引用符を使用してください。

\Python27\python.exe gsutil rsync -x ".*\.csv$" gs://my-bucket . 
それで
+0

これで動作します。どうもありがとう。ブラボー! – Pankaj

関連する問題