BigQueryで、
指定したデータセット配下のテーブル定義を、CSVファイルに出力する手順を説明します。

bqコマンド、jqコマンドがセットアップ済みで、
terminalからGCP環境へアクセス出来る状態になっている前提で、
以下の手続きを実施します。

以下のシェルスクリプトを作成します。

bq-schema-csv.sh

#!/bin/sh

DATASET_NAME=$1
if [ "$DATASET_NAME" == "" ]; then
  echo "usage bq-schema-csv.sh [dataset]"
  exit 1
fi

echo "table,name,type,mode,description" > schema.csv
for t in `bq ls -n 1000 $DATASET_NAME | awk '$2 == "TABLE" {print $1}'`; do
  bq show --schema $DATASET_NAME.$t | jq -r ".[] | [\"$t\", .name, .type, .mode, .description] | @csv" >> schema.csv
done

作成したシェルスクリプトに実行権限を与えます。

$ chmod +x bq-schema-csv.sh

出力したい対象データセットを第一引数に指定して実行すると、
schema.csvにテーブル定義が出力されます。

$ ./bq-schema-csv.sh publicdata:samples
$ head schema.csv
table,name,type,mode,description
"github_nested","repository","RECORD",,
"github_nested","actor_attributes","RECORD",,
"github_nested","created_at","STRING",,
"github_nested","public","BOOLEAN",,
"github_nested","actor","STRING",,
"github_nested","payload","RECORD",,
"github_nested","url","STRING",,
"github_nested","type","STRING",,
"github_timeline","repository_url","STRING","NULLABLE",

以上で、テーブル定義をまとめてCSVファイルに出力出来ます。