ops-math 项目中 build.sh、install_deps.sh、scripts/kernel/binary_script/ 下多个脚本以及 scripts/util/gen_compile_option.sh 共 10 个文件依赖 gawk 命令进行日志时间戳格式化。gawk 并非所有 Linux 发行版的默认预装工具,在部分构建环境中需要额外安装,增加了环境准备成本。
build.sh
install_deps.sh
scripts/kernel/binary_script/
scripts/util/gen_compile_option.sh
gawk
将所有 gawk '{print strftime("[%Y-%m-%d %H:%M:%S]"), \/usr/bin/bash}' 调用替换为等效的纯 bash 实现:
gawk '{print strftime("[%Y-%m-%d %H:%M:%S]"), \/usr/bin/bash}'
while IFS= read -r line; do echo "$(date '+[%Y-%m-%d %H:%M:%S]') $line"; done
该实现功能与原 gawk 调用一致:逐行读取管道输入,为每行添加 [YYYY-MM-DD HH:MM:SS] 格式的时间前缀。
[YYYY-MM-DD HH:MM:SS]
同时移除 install_deps.sh 中的 install_gawk() 函数及调用,并从文档依赖列表中移除 gawk。
install_gawk()
关联 PR:https://gitcode.com/cann/ops-math/pull/2407
一、背景信息
ops-math 项目中
build.sh、install_deps.sh、scripts/kernel/binary_script/下多个脚本以及scripts/util/gen_compile_option.sh共 10 个文件依赖gawk命令进行日志时间戳格式化。gawk并非所有 Linux 发行版的默认预装工具,在部分构建环境中需要额外安装,增加了环境准备成本。二、价值/作用
gawk作为必需依赖,减少环境准备步骤install_deps.sh无需再包含 gawk 的检测和安装逻辑三、设计方案
将所有
gawk '{print strftime("[%Y-%m-%d %H:%M:%S]"), \/usr/bin/bash}'调用替换为等效的纯 bash 实现:while IFS= read -r line; do echo "$(date '+[%Y-%m-%d %H:%M:%S]') $line"; done该实现功能与原 gawk 调用一致:逐行读取管道输入,为每行添加
[YYYY-MM-DD HH:MM:SS]格式的时间前缀。同时移除
install_deps.sh中的install_gawk()函数及调用,并从文档依赖列表中移除 gawk。关联 PR:https://gitcode.com/cann/ops-math/pull/2407