You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Bash关联数组映射pdb文件名特征片段至对应颜色的技术问询

需求实现:提取PDB文件标识并关联颜色的Bash脚本

需求概述

需要处理的PDB文件列表:

MD_6nax_DPPC_120A.pdb  MD_6nax_DOPC_120A.pdb  MD_6nax_POPC_120A.pdb
MD_6nax_DOPE_120A.pdb  MD_6nax_POPE_120A.pdb

核心目标:

  • 提取每个文件名中第二个下划线后的片段(如DPPC、DOPE)作为唯一标识ID
  • 为这些ID绑定自定义颜色,通过脚本输出对应关联关系

完整Bash脚本实现

#!/bin/bash

# 定义标识ID与颜色的映射关系,可按需修改颜色值
declare -A color_map=(
    ["DPPC"]="#FF5733"
    ["DOPC"]="#33FF57"
    ["POPC"]="#3357FF"
    ["DOPE"]="#FF33A6"
    ["POPE"]="#FFC300"
)

# 遍历目标PDB文件
for pdb_file in MD_6nax_*.pdb; do
    # 跳过不存在的文件(避免通配符无匹配时遍历字符串本身)
    [[ -f "$pdb_file" ]] || continue

    # 提取第二个下划线后的标识ID:按下划线分割取第3段,自动过滤后缀
    id=$(echo "$pdb_file" | cut -d'_' -f3)

    # 获取对应颜色,无匹配时用默认灰色
    color=${color_map[$id]:-"#808080"}

    # 输出结果,格式可自定义
    echo "文件: $pdb_file | 标识ID: $id | 关联颜色: $color"
done

脚本说明

  1. 颜色映射配置:color_map是Bash关联数组,直接修改键值对就能调整标识ID对应的颜色,支持十六进制颜色码或系统内置颜色名称。
  2. 文件遍历逻辑:用MD_6nax_*.pdb通配符精准匹配目标文件,加入[[ -f "$pdb_file" ]]判断,防止通配符无匹配时出现无效遍历。
  3. 标识提取:通过cut -d'_' -f3按下划线分割文件名,直接取第3段就能得到目标标识(比如MD_6nax_DPPC_120A.pdb分割后第3段就是DPPC),逻辑简洁高效。
  4. 容错处理:如果某个标识ID不在映射数组中,脚本会自动使用默认灰色#808080,可根据需求修改默认值。

内容的提问来源于stack exchange,提问作者James Starlight

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 10:16:19