在其他 Unix 命令中使用 Databricks CLI 命令输出
Using Databricks CLI command output in other Unix command
我正在使用 Databricks CLI 在 Azure Release 管道中配置集群和设置库,作为 Azure CLI 任务的一部分,/bin/bash 作为解释器。在一个地方,我试图使用 databricks fs ls 命令在 dbfs 路径中列出一个与特定文件名模式匹配的 jar 文件,并将该文件的名称存储在一个 unix 变量中。
databricks fs ls dbfs:/fs/jars/*<pattern>*.jar --profile <profile_name>
此代码失败,因为 dbfs ls 只需要一个目录作为参数,而不是文件模式。
我尝试了其他组合,例如:
grep *<pattern>*.jar < <(databricks fs ls dbfs:/fs/jars/ --profile <profile_name>)
和
grep *<pattern>*.jar | cat < <(databricks fs ls dbfs:/fs/jars/ --profile <profile_name>)
但无济于事。
但是,命令
cat < <(databricks fs ls dbfs:/fs/jars/ --profile <profile_name>
单机运行良好。
问题是:如何将 unix 命令与 databricks CLI 命令结合使用?
只需使用管道 (|
) 操作将 databricks-cli 的输出转发到其他命令:
databricks fs ls dbfs:/fs/jars/ --profile <profile_name>|grep <your-pattern>
我正在使用 Databricks CLI 在 Azure Release 管道中配置集群和设置库,作为 Azure CLI 任务的一部分,/bin/bash 作为解释器。在一个地方,我试图使用 databricks fs ls 命令在 dbfs 路径中列出一个与特定文件名模式匹配的 jar 文件,并将该文件的名称存储在一个 unix 变量中。
databricks fs ls dbfs:/fs/jars/*<pattern>*.jar --profile <profile_name>
此代码失败,因为 dbfs ls 只需要一个目录作为参数,而不是文件模式。
我尝试了其他组合,例如:
grep *<pattern>*.jar < <(databricks fs ls dbfs:/fs/jars/ --profile <profile_name>)
和
grep *<pattern>*.jar | cat < <(databricks fs ls dbfs:/fs/jars/ --profile <profile_name>)
但无济于事。
但是,命令
cat < <(databricks fs ls dbfs:/fs/jars/ --profile <profile_name>
单机运行良好。
问题是:如何将 unix 命令与 databricks CLI 命令结合使用?
只需使用管道 (|
) 操作将 databricks-cli 的输出转发到其他命令:
databricks fs ls dbfs:/fs/jars/ --profile <profile_name>|grep <your-pattern>