将命令输出保存到没有时间戳信息的文件中
save command output to a file without timestamp info
如果我在我的终端上 运行 这个命令 (https://hub.getdbt.com/dbt-labs/codegen/latest/):
dbt run-operation generate_model_yaml --args "{\"model_name\": "bookings"}"
我得到如下所示的输出:
12:53:32 Running with dbt=1.0.1
12:53:34 version: 2
models:
- name: bookings
description: ""
columns:
- name: booking_id
description: ""
- name: masterclient_id
description: ""
我想将它保存到一个文件中。如果我这样做:
dbt run-operation generate_model_yaml --args "{\"model_name\": "bookings"}" > test.yml
这也被保存到输出中:
12:53:32 Running with dbt=1.0.1
12:53:34
虽然我想要的输出是这样的:
version: 2
models:
- name: bookings
description: ""
columns:
- name: booking_id
description: ""
- name: masterclient_id
description: ""
如何去掉开头的额外时间戳信息,然后将剩余的输出保存到文件中?
如果您确信输出始终由这两个确切的时间戳构成,您可以:
dbt run-operation generate_model_yaml \
--args "{\"model_name\": \"bookings\"}" \
| tail -n +2 | sed '1 s/[0-9:]* *//'
tail -n +2
删除第一行。 sed
命令从第二行(现在是第一行)中删除时间戳和后面的空格。
快速浏览 the relevant dbt docs 产量
- The YAML for a base model will be logged to the command line
因此,您似乎无法指示 dbt
直接输出 YAML 数据 而没有 日志记录时间戳。
如果我在我的终端上 运行 这个命令 (https://hub.getdbt.com/dbt-labs/codegen/latest/):
dbt run-operation generate_model_yaml --args "{\"model_name\": "bookings"}"
我得到如下所示的输出:
12:53:32 Running with dbt=1.0.1
12:53:34 version: 2
models:
- name: bookings
description: ""
columns:
- name: booking_id
description: ""
- name: masterclient_id
description: ""
我想将它保存到一个文件中。如果我这样做:
dbt run-operation generate_model_yaml --args "{\"model_name\": "bookings"}" > test.yml
这也被保存到输出中:
12:53:32 Running with dbt=1.0.1
12:53:34
虽然我想要的输出是这样的:
version: 2
models:
- name: bookings
description: ""
columns:
- name: booking_id
description: ""
- name: masterclient_id
description: ""
如何去掉开头的额外时间戳信息,然后将剩余的输出保存到文件中?
如果您确信输出始终由这两个确切的时间戳构成,您可以:
dbt run-operation generate_model_yaml \
--args "{\"model_name\": \"bookings\"}" \
| tail -n +2 | sed '1 s/[0-9:]* *//'
tail -n +2
删除第一行。 sed
命令从第二行(现在是第一行)中删除时间戳和后面的空格。
快速浏览 the relevant dbt docs 产量
- The YAML for a base model will be logged to the command line
因此,您似乎无法指示 dbt
直接输出 YAML 数据 而没有 日志记录时间戳。