Linux命令行table格式的输出转json通用函数# 将命令输出转换为JSON格式command_output_to_json() local cmd="$*" local json json=$(eval "$cmd" | column -t | awk -F ; +; ; NR== n=NF for(i=;i<=NF;i++) header[i]=$i next BEGIN FPAT = "([^ ]+)|(\\([^)]+\\))"; # 定义字段模式:非空格内容或括号内容 NF> ...
awk使用截取指定的行,并把该行对应的列值赋值给外部变量。
以以下命令为例
echo "$output" | awk NR== printf "%.f %.f", $/, $/管道操作符 (|)
作用:连接两个命令,左边命令的输出作为右边命令的输入。
示例:echo "$output" 的输出被传递给 awk 命令。
awk 命令
功能:awk 是一个文本处理工具,用于模式匹配和数据提取。
解析:
NR==:NR是awk的内置变量,表示当前处理的行号。确保只处理第三行的数据。
printf "%.f %.f", $/, $/:格式化打印函数,输出为浮点数,保留两位小数;$ 和 $ 分别代表第三列和第四列的字段,/ 将单位从字节转换为GB。
read quota_used quota_size <<<
read 命令:从标准输入读取一行并 ...