You need to enable JavaScript to run this app. Linux下使用AWK格式化文件:提取首字段前10字符作为分组标题
优惠活动
大模型
产品
解决方案
定价
更多

Linux下使用AWK格式化文件:提取首字段前10字符作为分组标题

AIX df -Pg输出格式化修改方案

修改后完整脚本

# COLLECT THE DATA
##################
/opt/local/sbin/pcmdrun -o aix "df -Pg" > /tmp/bifsize1
# FORMAT THE DATA
#################
awk '
{
    # 提取当前主机名前10位标识
    curr_host = substr($1, 1, 10)
    # 主机变更时打印分组标题
    if (curr_host != last_host) {
        printf "%18s\n", curr_host
        last_host = curr_host
    }
    # 处理带磁盘统计的有效行
    if (NF > 1) {
        printf "%-18s %8.2f %8.2f %8.2f %8s %s\n", $2, $3, $4, $5, $6, $7
    }
}' /tmp/bifsize1 >> /tmp/bifsize.$(date +'%Y%m%d').txt

逻辑说明

  • 遍历每行时优先提取第一列主机名的前10个字符作为分组标识
  • 当分组标识发生变化时,先右对齐18位打印主机名作为该组的标题
  • 字段数大于1的有效磁盘行,设备名左对齐18位输出,后续容量、使用率、挂载点按对齐规则格式化输出
  • 自动兼容仅有主机名无磁盘信息的行,仅输出对应主机标题

内容的提问来源于stack exchange,提问作者steve ecott

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 05:36:06