GCP

GCS(Google Cloud Storage)上の複数ファイルを一括で取得し行数を数えてみた(Linux版)

今回は、Linux端末の仮想マシン上で、GCP(Google Cloud Platform)内のGCS(Google Cloud Storage)上のファイルを一括で取得し、各ファイルの行数を数えCSVファイルに出力してみたので、その方法について共有する。

前提条件

GCP(Google Cloud Platform)のアカウントを作成し、ログイン済であること。また、GCP上にLinux端末の仮想マシンを作成済であること。その手順は以下を参照のこと。

GCP(Google Cloud Platform)のアカウントを作成してみたGCP(Google Cloud Platform)とは、Google社が提供する、企業や個人など不特定多数のユーザに対し、インターネッ...
GCP(Google Cloud Platform)でLinux搭載済の仮想マシンを作成してみたGCP(Google Cloud Platform)上でLinux搭載済の仮想マシンを作成し、GCS(Google Cloud Stor...

さらに、以下のようにGCS(Google Cloud Storage)上にファイルを配置済であること。
GCS上のファイル

なお、GCS(Google Cloud Storage)上にファイルを配置する手順については、以下を参照のこと。

GCP(Google Cloud Platform)でGCS(Google Cloud Storage)から仮想マシンにファイル転送を行ってみた今回は、GCP(Google Cloud Platform)で、GCS(Google Cloud Storage)から仮想マシンにファイ...

やってみたこと

  1. gsutil lsコマンドによるファイルの確認
  2. gsutil cpコマンドによるファイルのコピー
  3. 複数ファイルのファイル名と行数の出力

 

gsutil lsコマンドによるファイルの確認

1) Windowsの場合と同様に、以下のように、「gsutil ls gs://(バケット名)/ファイルパス」で、GCS(Google Cloud Storage)上のファイルを確認することができる。
gsutil_lsコマンド_1
なお、ファイルパス中の「*」は、0文字以上の任意の文字列を表す。

2) Windowsの場合と同様に、以下のように、「gsutil ls -l gs://(バケット名)/ファイルパス」と「-l」オプションを付与すると、GCS(Google Cloud Storage)上のファイルのサイズや更新日時も確認することができる。
gsutil_lsコマンド_2

gsutil cpコマンドによるファイルのコピー

1) Windowsの場合と同様に、以下のように、「gsutil cp gs://(バケット名)/ファイルパス .」で、GCS(Google Cloud Storage)上のファイルを、ローカル端末のカレントディレクトリ(.)にコピーすることができる。
また、ファイルがコピーされたことの確認は「ls -l」コマンドで行える。
gsutil_cpコマンド_1

コピー後の各CSVファイルは、以下のように、「cat」コマンドで確認できる。
gsutil_cpコマンド_2
それぞれ、GCS(Google Cloud Storage)上にコピーしたCSVファイルと同じ内容であることを確認している。

複数ファイルのファイル名と行数の出力

1) 以下のようなshellプログラムを利用することで、カレントディレクトリ上の複数ファイルのファイル名と行数を、一括でCSV形式に出力することができる。
行数のカウント1

2) 1)のプログラムを、行数を数えるCSVファイルと同じディレクトリに配置し実行すると、以下のように、それぞれのCSVファイル名と行数をカンマ区切りで出力できる。
行数のカウント2

3) 以下のように、1)のプログラムの実行結果を、別ファイルに出力することもできる。ファイルの出力内容は、「cat」コマンドにて確認できる。
行数のカウント3