fuluoyide312 2023-09-15 18:24 采纳率: 0%
浏览 7

bash shell编程数据存储的问题

我在编写bash脚本的过程中,需要存储类似一个名称对应多个文件名的数据,类似c++的multi_map,bash如何处理类似的要求呢?
关系数组考虑过,但是关系数组一个键值只能对应一个值。

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-09-15 20:23
    关注

    【以下回答由 GPT 生成】

    答案:

    在bash中,可以使用关联数组来实现存储多个文件名的数据。尽管关联数组的一个键只能对应一个值,但我们可以将这个值定义为一个数组。具体步骤如下:

    1. 声明一个关联数组,用于存储文件名和对应的文件数组。

    bash declare -A fileMapping

    1. 遍历文件列表,将文件名与对应的文件添加到关联数组中。如果已经存在该文件名对应的数组,直接将文件名追加到数组中;如果不存在,则创建一个新的数组存储文件名。

    bash files=(file1.txt file2.txt file3.txt) for file in ${files[@]}; do if [[ -v fileMapping[$file] ]]; then fileMapping[$file]+=" $file" else fileMapping[$file]="$file" fi done

    1. 查看关联数组中的数据,可以通过循环遍历关联数组输出文件名和文件数组。

    bash for key in "${!fileMapping[@]}"; do echo "文件名: $key" echo "对应的文件数组: ${fileMapping[$key]}" done

    这样,你就可以实现在bash shell编程中存储多个文件名的数据了。

    注:以上代码仅供参考,实际情况可能需要根据具体需求进行适当修改。


    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 9月15日

悬赏问题

  • ¥15 求推荐发表需要付费的深度学习遥感场景分类SCI期刊
  • ¥15 无法在java控制台录入文字
  • ¥15 flutter网页应用用python的http服务器访问速度慢
  • ¥15 VESTA绘图原子颜色显示异常
  • ¥15 天翼云搭建多ip l2tp
  • ¥15 python实现CAD识图
  • ¥15 如何实现在renpy中创建并应用不同大小尺寸对话框?
  • ¥15 table表格有一列是固定列 滑动到最下面时 固定的那一列有几行没显示出来
  • ¥20 单细胞数据注释时报错
  • ¥15 vscode编译ros找不到头文件,cmake.list文件出问题,如何解决?(语言-c++|操作系统-linux)